feat(25.01): add bundle wrapper directory with NSIS sources and vendor symlinks

Mirror the 26.00-bundle / 26.01-bundle approach for 25.01:

- versions/25.01-bundle/CPP/7zip/Bundles/Nsis7z/: project-owned NSIS plugin
  wrapper sources (api.h, nsis7z.cpp, pluginapi.*, resource.*, StdAfx*,
  Nsis7z.sln, Nsis7z.vcxproj, Nsis7z.vcxproj.filters, Nsis7z_vs2026.vcxproj).
- versions/25.01-bundle/CPP/7zip/UI/NSIS/: NSIS UI sources; StdAfx.h patched
  to use relative include path and MinGW-compatible Windows.h guard (the
  upstream 25.01 file used an absolute path incompatible with the bundle layout).
- versions/25.01-bundle/CPP/7zip/LzmaDec_gcc.mak: forwarding stub.
- versions/25.01-bundle/{C,Asm} and CPP sub-trees: symlinks into versions/25.01/.
- tools/linux/setup_25_01_bundle_symlinks.py: idempotent symlink-recreation script.
This commit is contained in:
2026-05-03 01:38:45 +02:00
parent bcbae1b0be
commit 8968d0fd0c
91 changed files with 5048 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
../25.01/Asm
+1
View File
@@ -0,0 +1 @@
../25.01/C
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/7zip.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/7zip_gcc.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Aes.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Archive
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Asm.mak
@@ -0,0 +1,44 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Nsis7z", "Nsis7z.vcxproj", "{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug Unicode|Win32 = Debug Unicode|Win32
Debug Unicode|x64 = Debug Unicode|x64
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release Unicode|Win32 = Release Unicode|Win32
Release Unicode|x64 = Release Unicode|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Debug Unicode|Win32.ActiveCfg = Debug Unicode|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Debug Unicode|Win32.Build.0 = Debug Unicode|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Debug Unicode|Win32.Deploy.0 = Debug Unicode|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Debug Unicode|x64.ActiveCfg = Debug Unicode|x64
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Debug Unicode|x64.Build.0 = Debug Unicode|x64
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Debug|Win32.ActiveCfg = Debug|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Debug|Win32.Build.0 = Debug|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Debug|Win32.Deploy.0 = Debug|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Debug|x64.ActiveCfg = Debug|x64
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Debug|x64.Build.0 = Debug|x64
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Release Unicode|Win32.ActiveCfg = Release Unicode|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Release Unicode|Win32.Build.0 = Release Unicode|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Release Unicode|Win32.Deploy.0 = Release Unicode|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Release Unicode|x64.ActiveCfg = Release Unicode|x64
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Release Unicode|x64.Build.0 = Release Unicode|x64
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Release|Win32.ActiveCfg = Release|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Release|Win32.Build.0 = Release|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Release|Win32.Deploy.0 = Release|Win32
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Release|x64.ActiveCfg = Release|x64
{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -0,0 +1,929 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Unicode|Win32">
<Configuration>Debug Unicode</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug Unicode|x64">
<Configuration>Debug Unicode</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Unicode|Win32">
<Configuration>Release Unicode</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Unicode|x64">
<Configuration>Release Unicode</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<SccProjectName />
<SccLocalPath />
<ProjectGuid>{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}</ProjectGuid>
<WindowsTargetPlatformVersion>10.0.26100.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'"
Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'"
Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'"
Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'"
Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
<OutDir>$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>MinSpace</Optimization>
<WholeProgramOptimization>true</WholeProgramOptimization>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AssemblerOutput>AssemblyAndMachineCode</AssemblerOutput>
<CallingConvention>FastCall</CallingConvention>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4100</DisableSpecificWarnings>
</ClCompile>
<Midl>
<TypeLibraryName>.\Release\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<EntryPointSymbol>
</EntryPointSymbol>
<GenerateDebugInformation>No</GenerateDebugInformation>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>MinSpace</Optimization>
<WholeProgramOptimization>true</WholeProgramOptimization>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AssemblerOutput>AssemblyAndMachineCode</AssemblerOutput>
<CallingConvention>FastCall</CallingConvention>
</ClCompile>
<Midl>
<TypeLibraryName>.\Release\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<EntryPointSymbol>
</EntryPointSymbol>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<FunctionLevelLinking>false</FunctionLevelLinking>
<Optimization>Disabled</Optimization>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level4</WarningLevel>
<MinimalRebuild>true</MinimalRebuild>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;UNICODE;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CallingConvention>FastCall</CallingConvention>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<Midl>
<TypeLibraryName>.\DebugU\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\DebugU\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<FunctionLevelLinking>false</FunctionLevelLinking>
<Optimization>Disabled</Optimization>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;UNICODE;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CallingConvention>FastCall</CallingConvention>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<Midl>
<TypeLibraryName>.\DebugU\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\DebugU\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>MinSpace</Optimization>
<WholeProgramOptimization>true</WholeProgramOptimization>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level4</WarningLevel>
<AdditionalIncludeDirectories>..\..\..\ ;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;UNICODE;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CallingConvention>FastCall</CallingConvention>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4100</DisableSpecificWarnings>
</ClCompile>
<Midl>
<TypeLibraryName>.\ReleaseU\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\ReleaseU\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<EntryPointSymbol>
</EntryPointSymbol>
<GenerateDebugInformation>No</GenerateDebugInformation>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'">
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>MinSpace</Optimization>
<WholeProgramOptimization>true</WholeProgramOptimization>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level4</WarningLevel>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;UNICODE;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CallingConvention>FastCall</CallingConvention>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4100</DisableSpecificWarnings>
</ClCompile>
<Midl>
<TypeLibraryName>.\ReleaseU\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\ReleaseU\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<EntryPointSymbol>
</EntryPointSymbol>
<GenerateDebugInformation>No</GenerateDebugInformation>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<Optimization>Disabled</Optimization>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level3</WarningLevel>
<MinimalRebuild>true</MinimalRebuild>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallingConvention>FastCall</CallingConvention>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<Midl>
<TypeLibraryName>.\Debug\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<FunctionLevelLinking>false</FunctionLevelLinking>
<Optimization>Disabled</Optimization>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallingConvention>FastCall</CallingConvention>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<Midl>
<TypeLibraryName>.\Debug\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\C\7z.h" />
<ClInclude Include="..\..\..\..\C\7zAlloc.h" />
<ClInclude Include="..\..\..\..\C\7zBuf.h" />
<ClInclude Include="..\..\..\..\C\7zCrc.h" />
<ClInclude Include="..\..\..\..\C\7zFile.h" />
<ClInclude Include="..\..\..\..\C\7zTypes.h" />
<ClInclude Include="..\..\..\..\C\7zVersion.h" />
<ClInclude Include="..\..\..\..\C\Aes.h" />
<ClInclude Include="..\..\..\..\C\Alloc.h" />
<ClInclude Include="..\..\..\..\C\Bcj2.h" />
<ClInclude Include="..\..\..\..\C\Bra.h" />
<ClInclude Include="..\..\..\..\C\Compiler.h" />
<ClInclude Include="..\..\..\..\C\CpuArch.h" />
<ClInclude Include="..\..\..\..\C\Delta.h" />
<ClInclude Include="..\..\..\..\C\LzFind.h" />
<ClInclude Include="..\..\..\..\C\LzFindMt.h" />
<ClInclude Include="..\..\..\..\C\LzHash.h" />
<ClInclude Include="..\..\..\..\C\Lzma2Dec.h" />
<ClInclude Include="..\..\..\..\C\Lzma2DecMt.h" />
<ClInclude Include="..\..\..\..\C\Lzma2Enc.h" />
<ClInclude Include="..\..\..\..\C\Lzma86.h" />
<ClInclude Include="..\..\..\..\C\LzmaDec.h" />
<ClInclude Include="..\..\..\..\C\LzmaEnc.h" />
<ClInclude Include="..\..\..\..\C\LzmaLib.h" />
<ClInclude Include="..\..\..\..\C\MtCoder.h" />
<ClInclude Include="..\..\..\..\C\MtDec.h" />
<ClInclude Include="..\..\..\..\C\Ppmd.h" />
<ClInclude Include="..\..\..\..\C\Ppmd7.h" />
<ClInclude Include="..\..\..\..\C\Precomp.h" />
<ClInclude Include="..\..\..\..\C\RotateDefs.h" />
<ClInclude Include="..\..\..\..\C\Sha256.h" />
<ClInclude Include="..\..\..\..\C\Sort.h" />
<ClInclude Include="..\..\..\..\C\Threads.h" />
<ClInclude Include="..\..\..\..\C\Xz.h" />
<ClInclude Include="..\..\..\..\C\XzCrc64.h" />
<ClInclude Include="..\..\..\..\C\XzEnc.h" />
<ClInclude Include="..\..\..\Common\StdAfx.h" />
<ClInclude Include="..\..\..\Windows\COM.h" />
<ClInclude Include="..\..\..\Windows\CommonDialog.h" />
<ClInclude Include="..\..\..\Windows\ErrorMsg.h" />
<ClInclude Include="..\..\..\Windows\FileSystem.h" />
<ClInclude Include="..\..\..\Windows\NtCheck.h" />
<ClInclude Include="..\..\..\Windows\PropVariantConv.h" />
<ClInclude Include="..\..\..\Windows\Registry.h" />
<ClInclude Include="..\..\..\Windows\ResourceString.h" />
<ClInclude Include="..\..\..\Windows\SecurityUtils.h" />
<ClInclude Include="..\..\..\Windows\Shell.h" />
<ClInclude Include="..\..\..\Windows\StdAfx.h" />
<ClInclude Include="..\..\..\Windows\TimeUtils.h" />
<ClInclude Include="..\..\..\Windows\Window.h" />
<ClInclude Include="..\..\Archive\7z\7zCompressionMode.h" />
<ClInclude Include="..\..\Archive\7z\7zDecode.h" />
<ClInclude Include="..\..\Archive\7z\7zEncode.h" />
<ClInclude Include="..\..\Archive\7z\7zFolderInStream.h" />
<ClInclude Include="..\..\Archive\7z\7zHandler.h" />
<ClInclude Include="..\..\Archive\7z\7zHeader.h" />
<ClInclude Include="..\..\Archive\7z\7zIn.h" />
<ClInclude Include="..\..\Archive\7z\7zItem.h" />
<ClInclude Include="..\..\Archive\7z\7zOut.h" />
<ClInclude Include="..\..\Archive\7z\7zProperties.h" />
<ClInclude Include="..\..\Archive\7z\7zSpecStream.h" />
<ClInclude Include="..\..\Archive\7z\7zUpdate.h" />
<ClInclude Include="..\..\Archive\7z\StdAfx.h" />
<ClInclude Include="..\..\Archive\Common\CoderMixer2.h" />
<ClInclude Include="..\..\Archive\Common\DummyOutStream.h" />
<ClInclude Include="..\..\Archive\Common\HandlerOut.h" />
<ClInclude Include="..\..\Archive\Common\InStreamWithCRC.h" />
<ClInclude Include="..\..\Archive\Common\ItemNameUtils.h" />
<ClInclude Include="..\..\Archive\Common\MultiStream.h" />
<ClInclude Include="..\..\Archive\Common\OutStreamWithCRC.h" />
<ClInclude Include="..\..\Archive\Common\ParseProperties.h" />
<ClInclude Include="..\..\Archive\Common\StdAfx.h" />
<ClInclude Include="..\..\Common\CreateCoder.h" />
<ClInclude Include="..\..\Common\CWrappers.h" />
<ClInclude Include="..\..\Common\FilePathAutoRename.h" />
<ClInclude Include="..\..\Common\FileStreams.h" />
<ClInclude Include="..\..\Common\FilterCoder.h" />
<ClInclude Include="..\..\Common\InBuffer.h" />
<ClInclude Include="..\..\Common\InOutTempBuffer.h" />
<ClInclude Include="..\..\Common\LimitedStreams.h" />
<ClInclude Include="..\..\Common\LockedStream.h" />
<ClInclude Include="..\..\Common\MethodId.h" />
<ClInclude Include="..\..\Common\MethodProps.h" />
<ClInclude Include="..\..\Common\OffsetStream.h" />
<ClInclude Include="..\..\Common\OutBuffer.h" />
<ClInclude Include="..\..\Common\ProgressUtils.h" />
<ClInclude Include="..\..\Common\RegisterArc.h" />
<ClInclude Include="..\..\Common\RegisterCodec.h" />
<ClInclude Include="..\..\Common\StdAfx.h" />
<ClInclude Include="..\..\Common\StreamBinder.h" />
<ClInclude Include="..\..\Common\StreamObjects.h" />
<ClInclude Include="..\..\Common\StreamUtils.h" />
<ClInclude Include="..\..\Common\UniqBlocks.h" />
<ClInclude Include="..\..\Common\VirtThread.h" />
<ClInclude Include="..\..\Compress\Bcj2Coder.h" />
<ClInclude Include="..\..\Compress\BcjCoder.h" />
<ClInclude Include="..\..\Compress\BranchMisc.h" />
<ClInclude Include="..\..\Compress\CopyCoder.h" />
<ClInclude Include="..\..\Compress\Lzma2Decoder.h" />
<ClInclude Include="..\..\Compress\Lzma2Encoder.h" />
<ClInclude Include="..\..\Compress\LzmaDecoder.h" />
<ClInclude Include="..\..\Compress\LzmaEncoder.h" />
<ClInclude Include="..\..\Compress\XzDecoder.h" />
<ClInclude Include="..\..\Compress\XzEncoder.h" />
<ClInclude Include="..\..\UI\Common\ArchiveName.h" />
<ClInclude Include="..\..\UI\Common\DirItem.h" />
<ClInclude Include="..\..\UI\Common\ExitCode.h" />
<ClInclude Include="..\..\UI\Common\ExtractMode.h" />
<ClInclude Include="..\..\UI\Common\HashCalc.h" />
<ClInclude Include="..\..\UI\Common\IFileExtractCallback.h" />
<ClInclude Include="..\..\UI\Common\StdAfx.h" />
<ClInclude Include="..\..\UI\Common\ZipRegistry.h" />
<ClInclude Include="..\..\UI\Console\ConsoleClose.h" />
<ClInclude Include="..\..\UI\Console\OpenCallbackConsole.h" />
<ClInclude Include="..\..\UI\Console\PercentPrinter.h" />
<ClInclude Include="..\..\UI\Console\UserInputUtils.h" />
<ClInclude Include="..\..\UI\NSIS\ExtractCallbackConsole.h" />
<ClInclude Include="..\..\UI\NSIS\NSISBreak.h" />
<ClInclude Include="..\..\UI\NSIS\StdAfx.h" />
<ClInclude Include="..\..\UI\NSIS\UserInputUtils2.h" />
<ClInclude Include="api.h" />
<ClInclude Include="nsis_tchar.h" />
<ClInclude Include="pluginapi.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="StdAfx.h" />
<ClInclude Include="..\..\..\Common\AutoPtr.h" />
<ClInclude Include="..\..\..\Common\CommandLineParser.h" />
<ClInclude Include="..\..\..\Common\ComTry.h" />
<ClInclude Include="..\..\..\Common\Defs.h" />
<ClInclude Include="..\..\..\Common\DynamicBuffer.h" />
<ClInclude Include="..\..\..\Common\IntToString.h" />
<ClInclude Include="..\..\..\Common\ListFileUtils.h" />
<ClInclude Include="..\..\..\Common\MyCom.h" />
<ClInclude Include="..\..\..\Common\MyException.h" />
<ClInclude Include="..\..\..\Common\MyGuidDef.h" />
<ClInclude Include="..\..\..\Common\MyInitGuid.h" />
<ClInclude Include="..\..\..\Common\MyString.h" />
<ClInclude Include="..\..\..\Common\MyUnknown.h" />
<ClInclude Include="..\..\..\Common\MyVector.h" />
<ClInclude Include="..\..\..\Common\NewHandler.h" />
<ClInclude Include="..\..\..\Common\StdInStream.h" />
<ClInclude Include="..\..\..\Common\StdOutStream.h" />
<ClInclude Include="..\..\..\Common\StringConvert.h" />
<ClInclude Include="..\..\..\Common\StringToInt.h" />
<ClInclude Include="..\..\..\Common\UTFConvert.h" />
<ClInclude Include="..\..\..\Common\Wildcard.h" />
<ClInclude Include="..\..\..\Windows\Defs.h" />
<ClInclude Include="..\..\..\Windows\DLL.h" />
<ClInclude Include="..\..\..\Windows\FileDir.h" />
<ClInclude Include="..\..\..\Windows\FileFind.h" />
<ClInclude Include="..\..\..\Windows\FileIO.h" />
<ClInclude Include="..\..\..\Windows\FileMapping.h" />
<ClInclude Include="..\..\..\Windows\FileName.h" />
<ClInclude Include="..\..\..\Windows\Handle.h" />
<ClInclude Include="..\..\..\Windows\MemoryLock.h" />
<ClInclude Include="..\..\..\Windows\PropVariant.h" />
<ClInclude Include="..\..\..\Windows\Synchronization.h" />
<ClInclude Include="..\..\..\Windows\System.h" />
<ClInclude Include="..\..\..\Windows\Thread.h" />
<ClInclude Include="..\..\UI\Common\ArchiveCommandLine.h" />
<ClInclude Include="..\..\UI\Common\ArchiveExtractCallback.h" />
<ClInclude Include="..\..\UI\Common\ArchiveOpenCallback.h" />
<ClInclude Include="..\..\UI\Common\Bench.h" />
<ClInclude Include="..\..\UI\Common\DefaultName.h" />
<ClInclude Include="..\..\UI\Common\EnumDirItems.h" />
<ClInclude Include="..\..\UI\Common\Extract.h" />
<ClInclude Include="..\..\UI\Common\ExtractingFilePath.h" />
<ClInclude Include="..\..\UI\Common\LoadCodecs.h" />
<ClInclude Include="..\..\UI\Common\OpenArchive.h" />
<ClInclude Include="..\..\UI\Common\Property.h" />
<ClInclude Include="..\..\UI\Common\PropIDUtils.h" />
<ClInclude Include="..\..\UI\Common\SetProperties.h" />
<ClInclude Include="..\..\UI\Common\SortUtils.h" />
<ClInclude Include="..\..\UI\Common\TempFiles.h" />
<ClInclude Include="..\..\UI\Common\Update.h" />
<ClInclude Include="..\..\UI\Common\UpdateAction.h" />
<ClInclude Include="..\..\UI\Common\UpdateCallback.h" />
<ClInclude Include="..\..\UI\Common\UpdatePair.h" />
<ClInclude Include="..\..\UI\Common\UpdateProduce.h" />
<ClInclude Include="..\..\ICoder.h" />
<ClInclude Include="..\..\IMyUnknown.h" />
<ClInclude Include="..\..\IPassword.h" />
<ClInclude Include="..\..\IProgress.h" />
<ClInclude Include="..\..\IStream.h" />
<ClInclude Include="..\..\PropID.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\C\7zAlloc.c" />
<ClCompile Include="..\..\..\..\C\7zArcIn.c" />
<ClCompile Include="..\..\..\..\C\7zBuf.c" />
<ClCompile Include="..\..\..\..\C\7zBuf2.c" />
<ClCompile Include="..\..\..\..\C\7zCrc.c" />
<ClCompile Include="..\..\..\..\C\7zCrcOpt.c" />
<ClCompile Include="..\..\..\..\C\7zDec.c" />
<ClCompile Include="..\..\..\..\C\7zFile.c" />
<ClCompile Include="..\..\..\..\C\7zStream.c" />
<ClCompile Include="..\..\..\..\C\Aes.c" />
<ClCompile Include="..\..\..\..\C\AesOpt.c" />
<ClCompile Include="..\..\..\..\C\Alloc.c" />
<ClCompile Include="..\..\..\..\C\Bcj2.c" />
<ClCompile Include="..\..\..\..\C\Bcj2Enc.c" />
<ClCompile Include="..\..\..\..\C\Bra.c" />
<ClCompile Include="..\..\..\..\C\Bra86.c" />
<ClCompile Include="..\..\..\..\C\BraIA64.c" />
<ClCompile Include="..\..\..\..\C\CpuArch.c" />
<ClCompile Include="..\..\..\..\C\Delta.c" />
<ClCompile Include="..\..\..\..\C\LzFind.c" />
<ClCompile Include="..\..\..\..\C\LzFindMt.c" />
<ClCompile Include="..\..\..\..\C\LzFindOpt.c" />
<ClCompile Include="..\..\..\..\C\Lzma2Dec.c" />
<ClCompile Include="..\..\..\..\C\Lzma2DecMt.c" />
<ClCompile Include="..\..\..\..\C\Lzma2Enc.c" />
<ClCompile Include="..\..\..\..\C\Lzma86Dec.c" />
<ClCompile Include="..\..\..\..\C\Lzma86Enc.c" />
<ClCompile Include="..\..\..\..\C\LzmaDec.c" />
<ClCompile Include="..\..\..\..\C\LzmaEnc.c" />
<ClCompile Include="..\..\..\..\C\LzmaLib.c" />
<ClCompile Include="..\..\..\..\C\MtCoder.c" />
<ClCompile Include="..\..\..\..\C\MtDec.c" />
<ClCompile Include="..\..\..\..\C\Ppmd7.c" />
<ClCompile Include="..\..\..\..\C\Ppmd7Dec.c" />
<ClCompile Include="..\..\..\..\C\Ppmd7Enc.c" />
<ClCompile Include="..\..\..\..\C\Ppmd8.c" />
<ClCompile Include="..\..\..\..\C\Ppmd8Dec.c" />
<ClCompile Include="..\..\..\..\C\Ppmd8Enc.c" />
<ClCompile Include="..\..\..\..\C\Sha256.c" />
<ClCompile Include="..\..\..\..\C\Sha256Opt.c" />
<ClCompile Include="..\..\..\..\C\Sha1.c" />
<ClCompile Include="..\..\..\..\C\Sha1Opt.c" />
<ClCompile Include="..\..\..\..\C\Sort.c" />
<ClCompile Include="..\..\..\..\C\SwapBytes.c" />
<ClCompile Include="..\..\..\..\C\Threads.c" />
<ClCompile Include="..\..\..\..\C\Xz.c" />
<ClCompile Include="..\..\..\..\C\XzCrc64.c" />
<ClCompile Include="..\..\..\..\C\XzCrc64Opt.c" />
<ClCompile Include="..\..\..\..\C\XzDec.c" />
<ClCompile Include="..\..\..\..\C\XzEnc.c" />
<ClCompile Include="..\..\..\..\C\XzIn.c" />
<ClCompile Include="..\..\..\..\C\ZstdDec.c" />
<ClCompile Include="..\..\..\..\C\Xxh64.c" />
<ClCompile Include="..\..\..\..\C\HuffEnc.c" />
<ClCompile Include="..\..\..\Windows\CommonDialog.cpp" />
<ClCompile Include="..\..\..\Windows\ErrorMsg.cpp" />
<ClCompile Include="..\..\..\Windows\FileLink.cpp" />
<ClCompile Include="..\..\..\Windows\FileMapping.cpp" />
<ClCompile Include="..\..\..\Windows\FileSystem.cpp" />
<ClCompile Include="..\..\..\Windows\PropVariantConv.cpp" />
<ClCompile Include="..\..\..\Windows\PropVariantUtils.cpp" />
<ClCompile Include="..\..\..\Windows\Registry.cpp" />
<ClCompile Include="..\..\..\Windows\ResourceString.cpp" />
<ClCompile Include="..\..\..\Windows\SecurityUtils.cpp" />
<ClCompile Include="..\..\..\Windows\Shell.cpp" />
<ClCompile Include="..\..\..\Windows\TimeUtils.cpp" />
<ClCompile Include="..\..\..\Windows\Window.cpp" />
<ClCompile Include="..\..\Archive\7z\7zCompressionMode.cpp" />
<ClCompile Include="..\..\Archive\7z\7zDecode.cpp" />
<ClCompile Include="..\..\Archive\7z\7zEncode.cpp" />
<ClCompile Include="..\..\Archive\7z\7zExtract.cpp" />
<ClCompile Include="..\..\Archive\7z\7zFolderInStream.cpp" />
<ClCompile Include="..\..\Archive\7z\7zHandler.cpp" />
<ClCompile Include="..\..\Archive\7z\7zHandlerOut.cpp" />
<ClCompile Include="..\..\Archive\7z\7zHeader.cpp" />
<ClCompile Include="..\..\Archive\7z\7zIn.cpp" />
<ClCompile Include="..\..\Archive\7z\7zOut.cpp" />
<ClCompile Include="..\..\Archive\7z\7zProperties.cpp" />
<ClCompile Include="..\..\Archive\7z\7zRegister.cpp" />
<ClCompile Include="..\..\Archive\7z\7zSpecStream.cpp" />
<ClCompile Include="..\..\Archive\7z\7zUpdate.cpp" />
<ClCompile Include="..\..\Archive\7z\StdAfx.cpp" />
<ClCompile Include="..\..\Archive\Common\CoderMixer2.cpp" />
<ClCompile Include="..\..\Archive\Common\DummyOutStream.cpp" />
<ClCompile Include="..\..\Archive\Common\HandlerOut.cpp" />
<ClCompile Include="..\..\Archive\Common\InStreamWithCRC.cpp" />
<ClCompile Include="..\..\Archive\Common\ItemNameUtils.cpp" />
<ClCompile Include="..\..\Archive\Common\MultiStream.cpp" />
<ClCompile Include="..\..\Archive\Common\OutStreamWithCRC.cpp" />
<ClCompile Include="..\..\Archive\Common\ParseProperties.cpp" />
<ClCompile Include="..\..\Common\CreateCoder.cpp" />
<ClCompile Include="..\..\Common\CWrappers.cpp" />
<ClCompile Include="..\..\Common\FilePathAutoRename.cpp" />
<ClCompile Include="..\..\Common\FileStreams.cpp" />
<ClCompile Include="..\..\Common\FilterCoder.cpp" />
<ClCompile Include="..\..\Common\InBuffer.cpp" />
<ClCompile Include="..\..\Common\InOutTempBuffer.cpp" />
<ClCompile Include="..\..\Common\LimitedStreams.cpp" />
<ClCompile Include="..\..\Common\LockedStream.cpp" />
<ClCompile Include="..\..\Common\MethodId.cpp" />
<ClCompile Include="..\..\Common\MethodProps.cpp" />
<ClCompile Include="..\..\Common\MultiOutStream.cpp" />
<ClCompile Include="..\..\Common\OffsetStream.cpp" />
<ClCompile Include="..\..\Common\OutBuffer.cpp" />
<ClCompile Include="..\..\Common\ProgressUtils.cpp" />
<ClCompile Include="..\..\Common\PropId.cpp" />
<ClCompile Include="..\..\Common\StreamBinder.cpp" />
<ClCompile Include="..\..\Common\StreamObjects.cpp" />
<ClCompile Include="..\..\Common\StreamUtils.cpp" />
<ClCompile Include="..\..\Common\UniqBlocks.cpp" />
<ClCompile Include="..\..\Common\VirtThread.cpp" />
<ClCompile Include="..\..\Common\MemBlocks.cpp" />
<ClCompile Include="..\..\Common\ProgressMt.cpp" />
<ClCompile Include="..\..\Common\OutMemStream.cpp" />
<ClCompile Include="..\..\Compress\Bcj2Coder.cpp" />
<ClCompile Include="..\..\Compress\Bcj2Register.cpp" />
<ClCompile Include="..\..\Compress\BcjCoder.cpp" />
<ClCompile Include="..\..\Compress\BcjRegister.cpp" />
<ClCompile Include="..\..\Compress\BranchMisc.cpp" />
<ClCompile Include="..\..\Compress\BranchRegister.cpp" />
<ClCompile Include="..\..\Compress\ByteSwap.cpp" />
<ClCompile Include="..\..\Compress\CopyCoder.cpp" />
<ClCompile Include="..\..\Compress\CopyRegister.cpp" />
<ClCompile Include="..\..\Compress\DeflateDecoder.cpp" />
<ClCompile Include="..\..\Compress\DeflateEncoder.cpp" />
<ClCompile Include="..\..\Compress\Deflate64Register.cpp" />
<ClCompile Include="..\..\Compress\DeflateRegister.cpp" />
<ClCompile Include="..\..\Compress\DeltaFilter.cpp" />
<ClCompile Include="..\..\Compress\BitlDecoder.cpp" />
<ClCompile Include="..\..\Compress\ImplodeDecoder.cpp" />
<ClCompile Include="..\..\Compress\ImplodeHuffmanDecoder.cpp" />
<ClCompile Include="..\..\Compress\LzfseDecoder.cpp" />
<ClCompile Include="..\..\Compress\LzOutWindow.cpp" />
<ClCompile Include="..\..\Compress\Lzma2Decoder.cpp" />
<ClCompile Include="..\..\Compress\Lzma2Encoder.cpp" />
<ClCompile Include="..\..\Compress\Lzma2Register.cpp" />
<ClCompile Include="..\..\Compress\LzmaDecoder.cpp" />
<ClCompile Include="..\..\Compress\LzmaEncoder.cpp" />
<ClCompile Include="..\..\Compress\LzmaRegister.cpp" />
<ClCompile Include="..\..\Compress\XzDecoder.cpp" />
<ClCompile Include="..\..\Compress\XzEncoder.cpp" />
<ClCompile Include="..\..\Compress\PpmdDecoder.cpp" />
<ClCompile Include="..\..\Compress\PpmdZip.cpp" />
<ClCompile Include="..\..\Compress\ShrinkDecoder.cpp" />
<ClCompile Include="..\..\Compress\BZip2Crc.cpp" />
<ClCompile Include="..\..\Compress\BZip2Decoder.cpp" />
<ClCompile Include="..\..\Compress\ZstdDecoder.cpp" />
<ClCompile Include="..\..\UI\Common\ArchiveName.cpp" />
<ClCompile Include="..\..\UI\Common\HashCalc.cpp" />
<ClCompile Include="..\..\UI\Console\ConsoleClose.cpp" />
<ClCompile Include="..\..\UI\Console\OpenCallbackConsole.cpp" />
<ClCompile Include="..\..\UI\Console\PercentPrinter.cpp" />
<ClCompile Include="..\..\UI\Console\UserInputUtils.cpp" />
<ClCompile Include="..\..\UI\NSIS\ExtractCallbackConsole.cpp" />
<ClCompile Include="..\..\UI\NSIS\Main.cpp" />
<ClCompile Include="..\..\UI\NSIS\MainAr.cpp" />
<ClCompile Include="..\..\UI\NSIS\NSISBreak.cpp" />
<ClCompile Include="..\..\UI\NSIS\UserInputUtils2.cpp" />
<ClCompile Include="nsis7z.cpp" />
<ClCompile Include="pluginapi.cpp" />
<ClCompile Include="StdAfx2.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">
StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'">
StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'">
StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">StdAfx.h</PrecompiledHeaderFile>
</ClCompile>
<ClCompile Include="..\..\..\Common\CommandLineParser.cpp" />
<ClCompile Include="..\..\..\Common\CRC.cpp" />
<ClCompile Include="..\..\..\Common\DynLimBuf.cpp" />
<ClCompile Include="..\..\..\Common\IntToString.cpp" />
<ClCompile Include="..\..\..\Common\ListFileUtils.cpp" />
<ClCompile Include="..\..\..\Common\MyString.cpp" />
<ClCompile Include="..\..\..\Common\MyVector.cpp" />
<ClCompile Include="..\..\..\Common\NewHandler.cpp" />
<ClCompile Include="..\..\..\Common\StdInStream.cpp" />
<ClCompile Include="..\..\..\Common\StdOutStream.cpp" />
<ClCompile Include="..\..\..\Common\StringConvert.cpp" />
<ClCompile Include="..\..\..\Common\StringToInt.cpp" />
<ClCompile Include="..\..\..\Common\UTFConvert.cpp" />
<ClCompile Include="..\..\..\Common\Wildcard.cpp" />
<ClCompile Include="..\..\Crypto\HmacSha1.cpp" />
<ClCompile Include="..\..\Crypto\HmacSha256.cpp" />
<ClCompile Include="..\..\Crypto\MyAes.cpp" />
<ClCompile Include="..\..\Crypto\Pbkdf2HmacSha1.cpp" />
<ClCompile Include="..\..\Crypto\RandGen.cpp" />
<ClCompile Include="..\..\Crypto\WzAes.cpp" />
<ClCompile Include="..\..\Crypto\ZipCrypto.cpp" />
<ClCompile Include="..\..\Crypto\ZipStrong.cpp" />
<ClCompile Include="..\..\..\Windows\DLL.cpp" />
<ClCompile Include="..\..\..\Windows\FileDir.cpp" />
<ClCompile Include="..\..\..\Windows\FileFind.cpp" />
<ClCompile Include="..\..\..\Windows\FileIO.cpp" />
<ClCompile Include="..\..\..\Windows\FileName.cpp" />
<ClCompile Include="..\..\..\Windows\MemoryLock.cpp" />
<ClCompile Include="..\..\..\Windows\PropVariant.cpp" />
<ClCompile Include="..\..\..\Windows\Synchronization.cpp" />
<ClCompile Include="..\..\..\Windows\System.cpp" />
<ClCompile Include="..\..\..\Windows\SystemInfo.cpp" />
<ClCompile Include="..\..\Archive\LzmaHandler.cpp" />
<ClCompile Include="..\..\Archive\SplitHandler.cpp" />
<ClCompile Include="..\..\Archive\XzHandler.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipHandler.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipHandlerOut.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipIn.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipItem.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipOut.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipAddCommon.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipUpdate.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipRegister.cpp" />
<ClCompile Include="..\..\Archive\Nsis\NsisDecode.cpp" />
<ClCompile Include="..\..\Archive\Nsis\NsisHandler.cpp" />
<ClCompile Include="..\..\Archive\Nsis\NsisIn.cpp" />
<ClCompile Include="..\..\Archive\Nsis\NsisRegister.cpp" />
<ClCompile Include="..\..\UI\Common\ArchiveCommandLine.cpp" />
<ClCompile Include="..\..\UI\Common\ArchiveExtractCallback.cpp" />
<ClCompile Include="..\..\UI\Common\ArchiveOpenCallback.cpp" />
<ClCompile Include="..\..\UI\Common\Bench.cpp" />
<ClCompile Include="..\..\UI\Common\DefaultName.cpp" />
<ClCompile Include="..\..\UI\Common\EnumDirItems.cpp" />
<ClCompile Include="..\..\UI\Common\Extract.cpp" />
<ClCompile Include="..\..\UI\Common\ExtractingFilePath.cpp" />
<ClCompile Include="..\..\UI\Common\LoadCodecs.cpp" />
<ClCompile Include="..\..\UI\Common\OpenArchive.cpp" />
<ClCompile Include="..\..\UI\Common\PropIDUtils.cpp" />
<ClCompile Include="..\..\UI\Common\SetProperties.cpp" />
<ClCompile Include="..\..\UI\Common\SortUtils.cpp" />
<ClCompile Include="..\..\UI\Common\TempFiles.cpp" />
<ClCompile Include="..\..\UI\Common\Update.cpp" />
<ClCompile Include="..\..\UI\Common\UpdateAction.cpp" />
<ClCompile Include="..\..\UI\Common\UpdateCallback.cpp" />
<ClCompile Include="..\..\UI\Common\UpdatePair.cpp" />
<ClCompile Include="..\..\UI\Common\UpdateProduce.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\..\C\7zVersion.rc" />
<ResourceCompile Include="resource.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,929 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Unicode|Win32">
<Configuration>Debug Unicode</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug Unicode|x64">
<Configuration>Debug Unicode</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Unicode|Win32">
<Configuration>Release Unicode</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Unicode|x64">
<Configuration>Release Unicode</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<SccProjectName />
<SccLocalPath />
<ProjectGuid>{A284C1EF-6CA9-4984-A25F-83B22C85A5EC}</ProjectGuid>
<WindowsTargetPlatformVersion>10.0.26100.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'"
Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'"
Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'"
Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'"
Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
<OutDir>$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<TargetName>nsis7z</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>MinSpace</Optimization>
<WholeProgramOptimization>true</WholeProgramOptimization>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AssemblerOutput>AssemblyAndMachineCode</AssemblerOutput>
<CallingConvention>FastCall</CallingConvention>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4100</DisableSpecificWarnings>
</ClCompile>
<Midl>
<TypeLibraryName>.\Release\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<EntryPointSymbol>
</EntryPointSymbol>
<GenerateDebugInformation>No</GenerateDebugInformation>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>MinSpace</Optimization>
<WholeProgramOptimization>true</WholeProgramOptimization>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AssemblerOutput>AssemblyAndMachineCode</AssemblerOutput>
<CallingConvention>FastCall</CallingConvention>
</ClCompile>
<Midl>
<TypeLibraryName>.\Release\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<EntryPointSymbol>
</EntryPointSymbol>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<FunctionLevelLinking>false</FunctionLevelLinking>
<Optimization>Disabled</Optimization>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level4</WarningLevel>
<MinimalRebuild>true</MinimalRebuild>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;UNICODE;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CallingConvention>FastCall</CallingConvention>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<Midl>
<TypeLibraryName>.\DebugU\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\DebugU\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<FunctionLevelLinking>false</FunctionLevelLinking>
<Optimization>Disabled</Optimization>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;UNICODE;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CallingConvention>FastCall</CallingConvention>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<Midl>
<TypeLibraryName>.\DebugU\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\DebugU\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>MinSpace</Optimization>
<WholeProgramOptimization>true</WholeProgramOptimization>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level4</WarningLevel>
<AdditionalIncludeDirectories>..\..\..\ ;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;UNICODE;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CallingConvention>FastCall</CallingConvention>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4100</DisableSpecificWarnings>
</ClCompile>
<Midl>
<TypeLibraryName>.\ReleaseU\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\ReleaseU\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<EntryPointSymbol>
</EntryPointSymbol>
<GenerateDebugInformation>No</GenerateDebugInformation>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'">
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>MinSpace</Optimization>
<WholeProgramOptimization>true</WholeProgramOptimization>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level4</WarningLevel>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;UNICODE;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CallingConvention>FastCall</CallingConvention>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4100</DisableSpecificWarnings>
</ClCompile>
<Midl>
<TypeLibraryName>.\ReleaseU\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\ReleaseU\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<EntryPointSymbol>
</EntryPointSymbol>
<GenerateDebugInformation>No</GenerateDebugInformation>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<Optimization>Disabled</Optimization>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level3</WarningLevel>
<MinimalRebuild>true</MinimalRebuild>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallingConvention>FastCall</CallingConvention>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<Midl>
<TypeLibraryName>.\Debug\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<FunctionLevelLinking>false</FunctionLevelLinking>
<Optimization>Disabled</Optimization>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallingConvention>FastCall</CallingConvention>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<Midl>
<TypeLibraryName>.\Debug\Alone.tlb</TypeLibraryName>
</Midl>
<ResourceCompile>
<Culture>0x0419</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug\Alone.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\C\7z.h" />
<ClInclude Include="..\..\..\..\C\7zAlloc.h" />
<ClInclude Include="..\..\..\..\C\7zBuf.h" />
<ClInclude Include="..\..\..\..\C\7zCrc.h" />
<ClInclude Include="..\..\..\..\C\7zFile.h" />
<ClInclude Include="..\..\..\..\C\7zTypes.h" />
<ClInclude Include="..\..\..\..\C\7zVersion.h" />
<ClInclude Include="..\..\..\..\C\Aes.h" />
<ClInclude Include="..\..\..\..\C\Alloc.h" />
<ClInclude Include="..\..\..\..\C\Bcj2.h" />
<ClInclude Include="..\..\..\..\C\Bra.h" />
<ClInclude Include="..\..\..\..\C\Compiler.h" />
<ClInclude Include="..\..\..\..\C\CpuArch.h" />
<ClInclude Include="..\..\..\..\C\Delta.h" />
<ClInclude Include="..\..\..\..\C\LzFind.h" />
<ClInclude Include="..\..\..\..\C\LzFindMt.h" />
<ClInclude Include="..\..\..\..\C\LzHash.h" />
<ClInclude Include="..\..\..\..\C\Lzma2Dec.h" />
<ClInclude Include="..\..\..\..\C\Lzma2DecMt.h" />
<ClInclude Include="..\..\..\..\C\Lzma2Enc.h" />
<ClInclude Include="..\..\..\..\C\Lzma86.h" />
<ClInclude Include="..\..\..\..\C\LzmaDec.h" />
<ClInclude Include="..\..\..\..\C\LzmaEnc.h" />
<ClInclude Include="..\..\..\..\C\LzmaLib.h" />
<ClInclude Include="..\..\..\..\C\MtCoder.h" />
<ClInclude Include="..\..\..\..\C\MtDec.h" />
<ClInclude Include="..\..\..\..\C\Ppmd.h" />
<ClInclude Include="..\..\..\..\C\Ppmd7.h" />
<ClInclude Include="..\..\..\..\C\Precomp.h" />
<ClInclude Include="..\..\..\..\C\RotateDefs.h" />
<ClInclude Include="..\..\..\..\C\Sha256.h" />
<ClInclude Include="..\..\..\..\C\Sort.h" />
<ClInclude Include="..\..\..\..\C\Threads.h" />
<ClInclude Include="..\..\..\..\C\Xz.h" />
<ClInclude Include="..\..\..\..\C\XzCrc64.h" />
<ClInclude Include="..\..\..\..\C\XzEnc.h" />
<ClInclude Include="..\..\..\Common\StdAfx.h" />
<ClInclude Include="..\..\..\Windows\COM.h" />
<ClInclude Include="..\..\..\Windows\CommonDialog.h" />
<ClInclude Include="..\..\..\Windows\ErrorMsg.h" />
<ClInclude Include="..\..\..\Windows\FileSystem.h" />
<ClInclude Include="..\..\..\Windows\NtCheck.h" />
<ClInclude Include="..\..\..\Windows\PropVariantConv.h" />
<ClInclude Include="..\..\..\Windows\Registry.h" />
<ClInclude Include="..\..\..\Windows\ResourceString.h" />
<ClInclude Include="..\..\..\Windows\SecurityUtils.h" />
<ClInclude Include="..\..\..\Windows\Shell.h" />
<ClInclude Include="..\..\..\Windows\StdAfx.h" />
<ClInclude Include="..\..\..\Windows\TimeUtils.h" />
<ClInclude Include="..\..\..\Windows\Window.h" />
<ClInclude Include="..\..\Archive\7z\7zCompressionMode.h" />
<ClInclude Include="..\..\Archive\7z\7zDecode.h" />
<ClInclude Include="..\..\Archive\7z\7zEncode.h" />
<ClInclude Include="..\..\Archive\7z\7zFolderInStream.h" />
<ClInclude Include="..\..\Archive\7z\7zHandler.h" />
<ClInclude Include="..\..\Archive\7z\7zHeader.h" />
<ClInclude Include="..\..\Archive\7z\7zIn.h" />
<ClInclude Include="..\..\Archive\7z\7zItem.h" />
<ClInclude Include="..\..\Archive\7z\7zOut.h" />
<ClInclude Include="..\..\Archive\7z\7zProperties.h" />
<ClInclude Include="..\..\Archive\7z\7zSpecStream.h" />
<ClInclude Include="..\..\Archive\7z\7zUpdate.h" />
<ClInclude Include="..\..\Archive\7z\StdAfx.h" />
<ClInclude Include="..\..\Archive\Common\CoderMixer2.h" />
<ClInclude Include="..\..\Archive\Common\DummyOutStream.h" />
<ClInclude Include="..\..\Archive\Common\HandlerOut.h" />
<ClInclude Include="..\..\Archive\Common\InStreamWithCRC.h" />
<ClInclude Include="..\..\Archive\Common\ItemNameUtils.h" />
<ClInclude Include="..\..\Archive\Common\MultiStream.h" />
<ClInclude Include="..\..\Archive\Common\OutStreamWithCRC.h" />
<ClInclude Include="..\..\Archive\Common\ParseProperties.h" />
<ClInclude Include="..\..\Archive\Common\StdAfx.h" />
<ClInclude Include="..\..\Common\CreateCoder.h" />
<ClInclude Include="..\..\Common\CWrappers.h" />
<ClInclude Include="..\..\Common\FilePathAutoRename.h" />
<ClInclude Include="..\..\Common\FileStreams.h" />
<ClInclude Include="..\..\Common\FilterCoder.h" />
<ClInclude Include="..\..\Common\InBuffer.h" />
<ClInclude Include="..\..\Common\InOutTempBuffer.h" />
<ClInclude Include="..\..\Common\LimitedStreams.h" />
<ClInclude Include="..\..\Common\LockedStream.h" />
<ClInclude Include="..\..\Common\MethodId.h" />
<ClInclude Include="..\..\Common\MethodProps.h" />
<ClInclude Include="..\..\Common\OffsetStream.h" />
<ClInclude Include="..\..\Common\OutBuffer.h" />
<ClInclude Include="..\..\Common\ProgressUtils.h" />
<ClInclude Include="..\..\Common\RegisterArc.h" />
<ClInclude Include="..\..\Common\RegisterCodec.h" />
<ClInclude Include="..\..\Common\StdAfx.h" />
<ClInclude Include="..\..\Common\StreamBinder.h" />
<ClInclude Include="..\..\Common\StreamObjects.h" />
<ClInclude Include="..\..\Common\StreamUtils.h" />
<ClInclude Include="..\..\Common\UniqBlocks.h" />
<ClInclude Include="..\..\Common\VirtThread.h" />
<ClInclude Include="..\..\Compress\Bcj2Coder.h" />
<ClInclude Include="..\..\Compress\BcjCoder.h" />
<ClInclude Include="..\..\Compress\BranchMisc.h" />
<ClInclude Include="..\..\Compress\CopyCoder.h" />
<ClInclude Include="..\..\Compress\Lzma2Decoder.h" />
<ClInclude Include="..\..\Compress\Lzma2Encoder.h" />
<ClInclude Include="..\..\Compress\LzmaDecoder.h" />
<ClInclude Include="..\..\Compress\LzmaEncoder.h" />
<ClInclude Include="..\..\Compress\XzDecoder.h" />
<ClInclude Include="..\..\Compress\XzEncoder.h" />
<ClInclude Include="..\..\UI\Common\ArchiveName.h" />
<ClInclude Include="..\..\UI\Common\DirItem.h" />
<ClInclude Include="..\..\UI\Common\ExitCode.h" />
<ClInclude Include="..\..\UI\Common\ExtractMode.h" />
<ClInclude Include="..\..\UI\Common\HashCalc.h" />
<ClInclude Include="..\..\UI\Common\IFileExtractCallback.h" />
<ClInclude Include="..\..\UI\Common\StdAfx.h" />
<ClInclude Include="..\..\UI\Common\ZipRegistry.h" />
<ClInclude Include="..\..\UI\Console\ConsoleClose.h" />
<ClInclude Include="..\..\UI\Console\OpenCallbackConsole.h" />
<ClInclude Include="..\..\UI\Console\PercentPrinter.h" />
<ClInclude Include="..\..\UI\Console\UserInputUtils.h" />
<ClInclude Include="..\..\UI\NSIS\ExtractCallbackConsole.h" />
<ClInclude Include="..\..\UI\NSIS\NSISBreak.h" />
<ClInclude Include="..\..\UI\NSIS\StdAfx.h" />
<ClInclude Include="..\..\UI\NSIS\UserInputUtils2.h" />
<ClInclude Include="api.h" />
<ClInclude Include="nsis_tchar.h" />
<ClInclude Include="pluginapi.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="StdAfx.h" />
<ClInclude Include="..\..\..\Common\AutoPtr.h" />
<ClInclude Include="..\..\..\Common\CommandLineParser.h" />
<ClInclude Include="..\..\..\Common\ComTry.h" />
<ClInclude Include="..\..\..\Common\Defs.h" />
<ClInclude Include="..\..\..\Common\DynamicBuffer.h" />
<ClInclude Include="..\..\..\Common\IntToString.h" />
<ClInclude Include="..\..\..\Common\ListFileUtils.h" />
<ClInclude Include="..\..\..\Common\MyCom.h" />
<ClInclude Include="..\..\..\Common\MyException.h" />
<ClInclude Include="..\..\..\Common\MyGuidDef.h" />
<ClInclude Include="..\..\..\Common\MyInitGuid.h" />
<ClInclude Include="..\..\..\Common\MyString.h" />
<ClInclude Include="..\..\..\Common\MyUnknown.h" />
<ClInclude Include="..\..\..\Common\MyVector.h" />
<ClInclude Include="..\..\..\Common\NewHandler.h" />
<ClInclude Include="..\..\..\Common\StdInStream.h" />
<ClInclude Include="..\..\..\Common\StdOutStream.h" />
<ClInclude Include="..\..\..\Common\StringConvert.h" />
<ClInclude Include="..\..\..\Common\StringToInt.h" />
<ClInclude Include="..\..\..\Common\UTFConvert.h" />
<ClInclude Include="..\..\..\Common\Wildcard.h" />
<ClInclude Include="..\..\..\Windows\Defs.h" />
<ClInclude Include="..\..\..\Windows\DLL.h" />
<ClInclude Include="..\..\..\Windows\FileDir.h" />
<ClInclude Include="..\..\..\Windows\FileFind.h" />
<ClInclude Include="..\..\..\Windows\FileIO.h" />
<ClInclude Include="..\..\..\Windows\FileMapping.h" />
<ClInclude Include="..\..\..\Windows\FileName.h" />
<ClInclude Include="..\..\..\Windows\Handle.h" />
<ClInclude Include="..\..\..\Windows\MemoryLock.h" />
<ClInclude Include="..\..\..\Windows\PropVariant.h" />
<ClInclude Include="..\..\..\Windows\Synchronization.h" />
<ClInclude Include="..\..\..\Windows\System.h" />
<ClInclude Include="..\..\..\Windows\Thread.h" />
<ClInclude Include="..\..\UI\Common\ArchiveCommandLine.h" />
<ClInclude Include="..\..\UI\Common\ArchiveExtractCallback.h" />
<ClInclude Include="..\..\UI\Common\ArchiveOpenCallback.h" />
<ClInclude Include="..\..\UI\Common\Bench.h" />
<ClInclude Include="..\..\UI\Common\DefaultName.h" />
<ClInclude Include="..\..\UI\Common\EnumDirItems.h" />
<ClInclude Include="..\..\UI\Common\Extract.h" />
<ClInclude Include="..\..\UI\Common\ExtractingFilePath.h" />
<ClInclude Include="..\..\UI\Common\LoadCodecs.h" />
<ClInclude Include="..\..\UI\Common\OpenArchive.h" />
<ClInclude Include="..\..\UI\Common\Property.h" />
<ClInclude Include="..\..\UI\Common\PropIDUtils.h" />
<ClInclude Include="..\..\UI\Common\SetProperties.h" />
<ClInclude Include="..\..\UI\Common\SortUtils.h" />
<ClInclude Include="..\..\UI\Common\TempFiles.h" />
<ClInclude Include="..\..\UI\Common\Update.h" />
<ClInclude Include="..\..\UI\Common\UpdateAction.h" />
<ClInclude Include="..\..\UI\Common\UpdateCallback.h" />
<ClInclude Include="..\..\UI\Common\UpdatePair.h" />
<ClInclude Include="..\..\UI\Common\UpdateProduce.h" />
<ClInclude Include="..\..\ICoder.h" />
<ClInclude Include="..\..\IMyUnknown.h" />
<ClInclude Include="..\..\IPassword.h" />
<ClInclude Include="..\..\IProgress.h" />
<ClInclude Include="..\..\IStream.h" />
<ClInclude Include="..\..\PropID.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\C\7zAlloc.c" />
<ClCompile Include="..\..\..\..\C\7zArcIn.c" />
<ClCompile Include="..\..\..\..\C\7zBuf.c" />
<ClCompile Include="..\..\..\..\C\7zBuf2.c" />
<ClCompile Include="..\..\..\..\C\7zCrc.c" />
<ClCompile Include="..\..\..\..\C\7zCrcOpt.c" />
<ClCompile Include="..\..\..\..\C\7zDec.c" />
<ClCompile Include="..\..\..\..\C\7zFile.c" />
<ClCompile Include="..\..\..\..\C\7zStream.c" />
<ClCompile Include="..\..\..\..\C\Aes.c" />
<ClCompile Include="..\..\..\..\C\AesOpt.c" />
<ClCompile Include="..\..\..\..\C\Alloc.c" />
<ClCompile Include="..\..\..\..\C\Bcj2.c" />
<ClCompile Include="..\..\..\..\C\Bcj2Enc.c" />
<ClCompile Include="..\..\..\..\C\Bra.c" />
<ClCompile Include="..\..\..\..\C\Bra86.c" />
<ClCompile Include="..\..\..\..\C\BraIA64.c" />
<ClCompile Include="..\..\..\..\C\CpuArch.c" />
<ClCompile Include="..\..\..\..\C\Delta.c" />
<ClCompile Include="..\..\..\..\C\LzFind.c" />
<ClCompile Include="..\..\..\..\C\LzFindMt.c" />
<ClCompile Include="..\..\..\..\C\LzFindOpt.c" />
<ClCompile Include="..\..\..\..\C\Lzma2Dec.c" />
<ClCompile Include="..\..\..\..\C\Lzma2DecMt.c" />
<ClCompile Include="..\..\..\..\C\Lzma2Enc.c" />
<ClCompile Include="..\..\..\..\C\Lzma86Dec.c" />
<ClCompile Include="..\..\..\..\C\Lzma86Enc.c" />
<ClCompile Include="..\..\..\..\C\LzmaDec.c" />
<ClCompile Include="..\..\..\..\C\LzmaEnc.c" />
<ClCompile Include="..\..\..\..\C\LzmaLib.c" />
<ClCompile Include="..\..\..\..\C\MtCoder.c" />
<ClCompile Include="..\..\..\..\C\MtDec.c" />
<ClCompile Include="..\..\..\..\C\Ppmd7.c" />
<ClCompile Include="..\..\..\..\C\Ppmd7Dec.c" />
<ClCompile Include="..\..\..\..\C\Ppmd7Enc.c" />
<ClCompile Include="..\..\..\..\C\Ppmd8.c" />
<ClCompile Include="..\..\..\..\C\Ppmd8Dec.c" />
<ClCompile Include="..\..\..\..\C\Ppmd8Enc.c" />
<ClCompile Include="..\..\..\..\C\Sha256.c" />
<ClCompile Include="..\..\..\..\C\Sha256Opt.c" />
<ClCompile Include="..\..\..\..\C\Sha1.c" />
<ClCompile Include="..\..\..\..\C\Sha1Opt.c" />
<ClCompile Include="..\..\..\..\C\Sort.c" />
<ClCompile Include="..\..\..\..\C\SwapBytes.c" />
<ClCompile Include="..\..\..\..\C\Threads.c" />
<ClCompile Include="..\..\..\..\C\Xz.c" />
<ClCompile Include="..\..\..\..\C\XzCrc64.c" />
<ClCompile Include="..\..\..\..\C\XzCrc64Opt.c" />
<ClCompile Include="..\..\..\..\C\XzDec.c" />
<ClCompile Include="..\..\..\..\C\XzEnc.c" />
<ClCompile Include="..\..\..\..\C\XzIn.c" />
<ClCompile Include="..\..\..\..\C\ZstdDec.c" />
<ClCompile Include="..\..\..\..\C\Xxh64.c" />
<ClCompile Include="..\..\..\..\C\HuffEnc.c" />
<ClCompile Include="..\..\..\Windows\CommonDialog.cpp" />
<ClCompile Include="..\..\..\Windows\ErrorMsg.cpp" />
<ClCompile Include="..\..\..\Windows\FileLink.cpp" />
<ClCompile Include="..\..\..\Windows\FileMapping.cpp" />
<ClCompile Include="..\..\..\Windows\FileSystem.cpp" />
<ClCompile Include="..\..\..\Windows\PropVariantConv.cpp" />
<ClCompile Include="..\..\..\Windows\PropVariantUtils.cpp" />
<ClCompile Include="..\..\..\Windows\Registry.cpp" />
<ClCompile Include="..\..\..\Windows\ResourceString.cpp" />
<ClCompile Include="..\..\..\Windows\SecurityUtils.cpp" />
<ClCompile Include="..\..\..\Windows\Shell.cpp" />
<ClCompile Include="..\..\..\Windows\TimeUtils.cpp" />
<ClCompile Include="..\..\..\Windows\Window.cpp" />
<ClCompile Include="..\..\Archive\7z\7zCompressionMode.cpp" />
<ClCompile Include="..\..\Archive\7z\7zDecode.cpp" />
<ClCompile Include="..\..\Archive\7z\7zEncode.cpp" />
<ClCompile Include="..\..\Archive\7z\7zExtract.cpp" />
<ClCompile Include="..\..\Archive\7z\7zFolderInStream.cpp" />
<ClCompile Include="..\..\Archive\7z\7zHandler.cpp" />
<ClCompile Include="..\..\Archive\7z\7zHandlerOut.cpp" />
<ClCompile Include="..\..\Archive\7z\7zHeader.cpp" />
<ClCompile Include="..\..\Archive\7z\7zIn.cpp" />
<ClCompile Include="..\..\Archive\7z\7zOut.cpp" />
<ClCompile Include="..\..\Archive\7z\7zProperties.cpp" />
<ClCompile Include="..\..\Archive\7z\7zRegister.cpp" />
<ClCompile Include="..\..\Archive\7z\7zSpecStream.cpp" />
<ClCompile Include="..\..\Archive\7z\7zUpdate.cpp" />
<ClCompile Include="..\..\Archive\7z\StdAfx.cpp" />
<ClCompile Include="..\..\Archive\Common\CoderMixer2.cpp" />
<ClCompile Include="..\..\Archive\Common\DummyOutStream.cpp" />
<ClCompile Include="..\..\Archive\Common\HandlerOut.cpp" />
<ClCompile Include="..\..\Archive\Common\InStreamWithCRC.cpp" />
<ClCompile Include="..\..\Archive\Common\ItemNameUtils.cpp" />
<ClCompile Include="..\..\Archive\Common\MultiStream.cpp" />
<ClCompile Include="..\..\Archive\Common\OutStreamWithCRC.cpp" />
<ClCompile Include="..\..\Archive\Common\ParseProperties.cpp" />
<ClCompile Include="..\..\Common\CreateCoder.cpp" />
<ClCompile Include="..\..\Common\CWrappers.cpp" />
<ClCompile Include="..\..\Common\FilePathAutoRename.cpp" />
<ClCompile Include="..\..\Common\FileStreams.cpp" />
<ClCompile Include="..\..\Common\FilterCoder.cpp" />
<ClCompile Include="..\..\Common\InBuffer.cpp" />
<ClCompile Include="..\..\Common\InOutTempBuffer.cpp" />
<ClCompile Include="..\..\Common\LimitedStreams.cpp" />
<ClCompile Include="..\..\Common\LockedStream.cpp" />
<ClCompile Include="..\..\Common\MethodId.cpp" />
<ClCompile Include="..\..\Common\MethodProps.cpp" />
<ClCompile Include="..\..\Common\MultiOutStream.cpp" />
<ClCompile Include="..\..\Common\OffsetStream.cpp" />
<ClCompile Include="..\..\Common\OutBuffer.cpp" />
<ClCompile Include="..\..\Common\ProgressUtils.cpp" />
<ClCompile Include="..\..\Common\PropId.cpp" />
<ClCompile Include="..\..\Common\StreamBinder.cpp" />
<ClCompile Include="..\..\Common\StreamObjects.cpp" />
<ClCompile Include="..\..\Common\StreamUtils.cpp" />
<ClCompile Include="..\..\Common\UniqBlocks.cpp" />
<ClCompile Include="..\..\Common\VirtThread.cpp" />
<ClCompile Include="..\..\Common\MemBlocks.cpp" />
<ClCompile Include="..\..\Common\ProgressMt.cpp" />
<ClCompile Include="..\..\Common\OutMemStream.cpp" />
<ClCompile Include="..\..\Compress\Bcj2Coder.cpp" />
<ClCompile Include="..\..\Compress\Bcj2Register.cpp" />
<ClCompile Include="..\..\Compress\BcjCoder.cpp" />
<ClCompile Include="..\..\Compress\BcjRegister.cpp" />
<ClCompile Include="..\..\Compress\BranchMisc.cpp" />
<ClCompile Include="..\..\Compress\BranchRegister.cpp" />
<ClCompile Include="..\..\Compress\ByteSwap.cpp" />
<ClCompile Include="..\..\Compress\CopyCoder.cpp" />
<ClCompile Include="..\..\Compress\CopyRegister.cpp" />
<ClCompile Include="..\..\Compress\DeflateDecoder.cpp" />
<ClCompile Include="..\..\Compress\DeflateEncoder.cpp" />
<ClCompile Include="..\..\Compress\Deflate64Register.cpp" />
<ClCompile Include="..\..\Compress\DeflateRegister.cpp" />
<ClCompile Include="..\..\Compress\DeltaFilter.cpp" />
<ClCompile Include="..\..\Compress\BitlDecoder.cpp" />
<ClCompile Include="..\..\Compress\ImplodeDecoder.cpp" />
<ClCompile Include="..\..\Compress\ImplodeHuffmanDecoder.cpp" />
<ClCompile Include="..\..\Compress\LzfseDecoder.cpp" />
<ClCompile Include="..\..\Compress\LzOutWindow.cpp" />
<ClCompile Include="..\..\Compress\Lzma2Decoder.cpp" />
<ClCompile Include="..\..\Compress\Lzma2Encoder.cpp" />
<ClCompile Include="..\..\Compress\Lzma2Register.cpp" />
<ClCompile Include="..\..\Compress\LzmaDecoder.cpp" />
<ClCompile Include="..\..\Compress\LzmaEncoder.cpp" />
<ClCompile Include="..\..\Compress\LzmaRegister.cpp" />
<ClCompile Include="..\..\Compress\XzDecoder.cpp" />
<ClCompile Include="..\..\Compress\XzEncoder.cpp" />
<ClCompile Include="..\..\Compress\PpmdDecoder.cpp" />
<ClCompile Include="..\..\Compress\PpmdZip.cpp" />
<ClCompile Include="..\..\Compress\ShrinkDecoder.cpp" />
<ClCompile Include="..\..\Compress\BZip2Crc.cpp" />
<ClCompile Include="..\..\Compress\BZip2Decoder.cpp" />
<ClCompile Include="..\..\Compress\ZstdDecoder.cpp" />
<ClCompile Include="..\..\UI\Common\ArchiveName.cpp" />
<ClCompile Include="..\..\UI\Common\HashCalc.cpp" />
<ClCompile Include="..\..\UI\Console\ConsoleClose.cpp" />
<ClCompile Include="..\..\UI\Console\OpenCallbackConsole.cpp" />
<ClCompile Include="..\..\UI\Console\PercentPrinter.cpp" />
<ClCompile Include="..\..\UI\Console\UserInputUtils.cpp" />
<ClCompile Include="..\..\UI\NSIS\ExtractCallbackConsole.cpp" />
<ClCompile Include="..\..\UI\NSIS\Main.cpp" />
<ClCompile Include="..\..\UI\NSIS\MainAr.cpp" />
<ClCompile Include="..\..\UI\NSIS\NSISBreak.cpp" />
<ClCompile Include="..\..\UI\NSIS\UserInputUtils2.cpp" />
<ClCompile Include="nsis7z.cpp" />
<ClCompile Include="pluginapi.cpp" />
<ClCompile Include="StdAfx2.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">
StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|x64'">
StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release Unicode|x64'">
StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">StdAfx.h</PrecompiledHeaderFile>
</ClCompile>
<ClCompile Include="..\..\..\Common\CommandLineParser.cpp" />
<ClCompile Include="..\..\..\Common\CRC.cpp" />
<ClCompile Include="..\..\..\Common\DynLimBuf.cpp" />
<ClCompile Include="..\..\..\Common\IntToString.cpp" />
<ClCompile Include="..\..\..\Common\ListFileUtils.cpp" />
<ClCompile Include="..\..\..\Common\MyString.cpp" />
<ClCompile Include="..\..\..\Common\MyVector.cpp" />
<ClCompile Include="..\..\..\Common\NewHandler.cpp" />
<ClCompile Include="..\..\..\Common\StdInStream.cpp" />
<ClCompile Include="..\..\..\Common\StdOutStream.cpp" />
<ClCompile Include="..\..\..\Common\StringConvert.cpp" />
<ClCompile Include="..\..\..\Common\StringToInt.cpp" />
<ClCompile Include="..\..\..\Common\UTFConvert.cpp" />
<ClCompile Include="..\..\..\Common\Wildcard.cpp" />
<ClCompile Include="..\..\Crypto\HmacSha1.cpp" />
<ClCompile Include="..\..\Crypto\HmacSha256.cpp" />
<ClCompile Include="..\..\Crypto\MyAes.cpp" />
<ClCompile Include="..\..\Crypto\Pbkdf2HmacSha1.cpp" />
<ClCompile Include="..\..\Crypto\RandGen.cpp" />
<ClCompile Include="..\..\Crypto\WzAes.cpp" />
<ClCompile Include="..\..\Crypto\ZipCrypto.cpp" />
<ClCompile Include="..\..\Crypto\ZipStrong.cpp" />
<ClCompile Include="..\..\..\Windows\DLL.cpp" />
<ClCompile Include="..\..\..\Windows\FileDir.cpp" />
<ClCompile Include="..\..\..\Windows\FileFind.cpp" />
<ClCompile Include="..\..\..\Windows\FileIO.cpp" />
<ClCompile Include="..\..\..\Windows\FileName.cpp" />
<ClCompile Include="..\..\..\Windows\MemoryLock.cpp" />
<ClCompile Include="..\..\..\Windows\PropVariant.cpp" />
<ClCompile Include="..\..\..\Windows\Synchronization.cpp" />
<ClCompile Include="..\..\..\Windows\System.cpp" />
<ClCompile Include="..\..\..\Windows\SystemInfo.cpp" />
<ClCompile Include="..\..\Archive\LzmaHandler.cpp" />
<ClCompile Include="..\..\Archive\SplitHandler.cpp" />
<ClCompile Include="..\..\Archive\XzHandler.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipHandler.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipHandlerOut.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipIn.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipItem.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipOut.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipAddCommon.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipUpdate.cpp" />
<ClCompile Include="..\..\Archive\Zip\ZipRegister.cpp" />
<ClCompile Include="..\..\Archive\Nsis\NsisDecode.cpp" />
<ClCompile Include="..\..\Archive\Nsis\NsisHandler.cpp" />
<ClCompile Include="..\..\Archive\Nsis\NsisIn.cpp" />
<ClCompile Include="..\..\Archive\Nsis\NsisRegister.cpp" />
<ClCompile Include="..\..\UI\Common\ArchiveCommandLine.cpp" />
<ClCompile Include="..\..\UI\Common\ArchiveExtractCallback.cpp" />
<ClCompile Include="..\..\UI\Common\ArchiveOpenCallback.cpp" />
<ClCompile Include="..\..\UI\Common\Bench.cpp" />
<ClCompile Include="..\..\UI\Common\DefaultName.cpp" />
<ClCompile Include="..\..\UI\Common\EnumDirItems.cpp" />
<ClCompile Include="..\..\UI\Common\Extract.cpp" />
<ClCompile Include="..\..\UI\Common\ExtractingFilePath.cpp" />
<ClCompile Include="..\..\UI\Common\LoadCodecs.cpp" />
<ClCompile Include="..\..\UI\Common\OpenArchive.cpp" />
<ClCompile Include="..\..\UI\Common\PropIDUtils.cpp" />
<ClCompile Include="..\..\UI\Common\SetProperties.cpp" />
<ClCompile Include="..\..\UI\Common\SortUtils.cpp" />
<ClCompile Include="..\..\UI\Common\TempFiles.cpp" />
<ClCompile Include="..\..\UI\Common\Update.cpp" />
<ClCompile Include="..\..\UI\Common\UpdateAction.cpp" />
<ClCompile Include="..\..\UI\Common\UpdateCallback.cpp" />
<ClCompile Include="..\..\UI\Common\UpdatePair.cpp" />
<ClCompile Include="..\..\UI\Common\UpdateProduce.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\..\C\7zVersion.rc" />
<ResourceCompile Include="resource.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,13 @@
// StdAfx.h
#ifndef __STDAFX_H
#define __STDAFX_H
#include "../../../Common/Common.h"
#include <windows.h>
#include <commctrl.h>
#include "../../../Common/MyWindows.h"
#include "../../../Common/NewHandler.h"
#include "pluginapi.h"
#endif
@@ -0,0 +1,3 @@
// StdAfx.cpp
#include "StdAfx.h"
@@ -0,0 +1 @@
#include <winresrc.h>
@@ -0,0 +1,83 @@
/*
* apih
*
* This file is a part of NSIS.
*
* Copyright (C) 1999-2013 Nullsoft and Contributors
*
* Licensed under the zlib/libpng license (the "License");
* you may not use this file except in compliance with the License.
*
* Licence details can be found in the file COPYING.
*
* This software is provided 'as-is', without any express or implied
* warranty.
*/
#ifndef _NSIS_EXEHEAD_API_H_
#define _NSIS_EXEHEAD_API_H_
// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version
// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x))
// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {}
#define NSISPIAPIVER_1_0 0x00010000
#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0
// NSIS Plug-In Callback Messages
enum NSPIM
{
NSPIM_UNLOAD, // This is the last message a plugin gets, do final cleanup
NSPIM_GUIUNLOAD, // Called after .onGUIEnd
};
// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
// Return NULL for unknown messages
// Should always be __cdecl for future expansion possibilities
typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
// extra_parameters data structures containing other interesting stuff
// but the stack, variables and HWND passed on to plug-ins.
typedef struct
{
int autoclose;
int all_user_var;
int exec_error;
int abort;
int exec_reboot; // NSIS_SUPPORT_REBOOT
int reboot_called; // NSIS_SUPPORT_REBOOT
int XXX_cur_insttype; // depreacted
int plugin_api_version; // see NSISPIAPIVER_CURR
// used to be XXX_insttype_changed
int silent; // NSIS_CONFIG_SILENT_SUPPORT
int instdir_error;
int rtl;
int errlvl;
int alter_reg_view;
int status_update;
} exec_flags_t;
#ifndef NSISCALL
# define NSISCALL __stdcall
#endif
typedef struct {
exec_flags_t *exec_flags;
int (NSISCALL *ExecuteCodeSegment)(int, HWND);
void (NSISCALL *validate_filename)(TCHAR *);
int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors
} extra_parameters;
// Definitions for page showing plug-ins
// See Ui.c to understand better how they're used
// sent to the outer window to tell it to go to the next inner window
#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
// custom pages should send this message to let NSIS know they're ready
#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning
#define NOTIFY_BYE_BYE 'x'
#endif /* _PLUGIN_H_ */
@@ -0,0 +1,190 @@
#include "StdAfx.h"
#include "../../UI/NSIS/ExtractCallbackConsole.h"
#include "Common/StringConvert.h"
#pragma warning(disable: 4100)
#define IDC_PROGRESS 1004
#define IDC_INTROTEXT 1006
#define EXTRACTFUNC(funcname) extern "C" { \
void __declspec(dllexport) __cdecl funcname(HWND hwndParent, int string_size, \
TCHAR *variables, stack_t **stacktop, \
extra_parameters *extra) \
{ \
EXDLL_INIT();\
g_lastVal = -1; \
g_hwndParent=hwndParent; \
HWND hwndDlg = FindWindowEx(g_hwndParent, NULL, TEXT("#32770"), NULL); \
g_hwndProgress = GetDlgItem(hwndDlg, IDC_PROGRESS); \
g_hwndText = GetDlgItem(hwndDlg, IDC_INTROTEXT); \
TCHAR sArchive[1024], *outDir = getuservariable(INST_OUTDIR); \
popstring(sArchive); \
g_pluginExtra = extra; \
#define EXTRACTFUNCEND } }
HINSTANCE g_hInstance2;
HWND g_hwndParent;
HWND g_hwndProgress;
HWND g_hwndText;
extra_parameters *g_pluginExtra;
void DoInitialize();
int DoExtract(LPTSTR archive, LPTSTR dir, bool overwrite, bool expath, ExtractProgressHandler epc, const UStringVector& skipPatterns);
int DoExtractWithFile(LPTSTR archive, LPTSTR dir, bool overwrite, bool expath, ExtractProgressWithFileHandler epc, const UStringVector& skipPatterns);
int g_progressCallback = -1;
int g_lastVal = -1;
TCHAR* g_sDetails;
static void PopSkipPatterns(UStringVector& skipPatterns)
{
TCHAR *buf = new TCHAR[g_stringsize];
while (popstring(buf) == 0 && lstrlen(buf) > 0)
{
#ifdef UNICODE
skipPatterns.Add(UString(buf));
#else
skipPatterns.Add(MultiByteToUnicodeString(AString(buf)));
#endif
}
delete[] buf;
}
int GetPercentComplete(UInt64 completedSize, UInt64 totalSize)
{
if (totalSize == 0) return 0;
const int nsisProgressMax = 30000;
int val = (int)((completedSize*nsisProgressMax)/totalSize);
if (val < 0) return 0;
if (val > nsisProgressMax) return nsisProgressMax;
return val;
}
void SimpleProgressHandler(UInt64 completedSize, UInt64 totalSize)
{
int val = GetPercentComplete(completedSize, totalSize);
if (g_lastVal != val)
SendMessage(g_hwndProgress, PBM_SETPOS, g_lastVal = val, 0);
}
void CallbackProgressHandler(UInt64 completedSize, UInt64 totalSize)
{
int val = 0;
if (totalSize > 0)
{
val = GetPercentComplete(completedSize, totalSize);
static TCHAR buf[32];
wsprintf(buf, TEXT("%lu"), totalSize);
pushstring(buf);
wsprintf(buf, TEXT("%lu"), completedSize);
pushstring(buf);
g_pluginExtra->ExecuteCodeSegment(g_progressCallback-1, 0);
}
if (g_lastVal != val)
SendMessage(g_hwndProgress, PBM_SETPOS, g_lastVal = val, 0);
}
void CallbackFileProgressHandler(UInt64 completedSize, UInt64 totalSize, const wchar_t *fileName)
{
int val = 0;
if (totalSize > 0)
val = GetPercentComplete(completedSize, totalSize);
// Notify NSIS only when a new file starts (filename changes)
if (fileName && fileName[0])
{
static TCHAR fileNameBuf[MAX_PATH];
static TCHAR prevFileNameBuf[MAX_PATH];
static TCHAR buf[32];
lstrcpyn(fileNameBuf, (const TCHAR*)fileName, MAX_PATH);
if (lstrcmp(fileNameBuf, prevFileNameBuf) != 0)
{
lstrcpy(prevFileNameBuf, fileNameBuf);
pushstring(fileNameBuf);
wsprintf(buf, TEXT("%lu"), (DWORD)totalSize);
pushstring(buf);
wsprintf(buf, TEXT("%lu"), (DWORD)completedSize);
pushstring(buf);
g_pluginExtra->ExecuteCodeSegment(g_progressCallback-1, 0);
}
}
if (g_lastVal != val)
SendMessage(g_hwndProgress, PBM_SETPOS, g_lastVal = val, 0);
}
void DetailsProgressHandler(UInt64 completedSize, UInt64 totalSize)
{
int val = 0;
if (totalSize > 0)
{
val = GetPercentComplete(completedSize, totalSize);
TCHAR* buf = new TCHAR[g_stringsize];
TCHAR* buf2 = new TCHAR[g_stringsize];
wsprintf(buf, TEXT("%d%% (%d / %d MB)"), (int)(val?val/300:0), (int)(completedSize?completedSize/(1024*1024):0), (int)(totalSize/(1024*1024)));
wsprintf(buf2, g_sDetails, buf);
SetWindowText(g_hwndText, buf2);
delete[] buf;
delete[] buf2;
}
if (g_lastVal != val)
SendMessage(g_hwndProgress, PBM_SETPOS, g_lastVal = val, 0);
}
EXTRACTFUNC(Extract)
{
UStringVector skipPatterns;
PopSkipPatterns(skipPatterns);
DoExtract(sArchive, outDir, true, true, (ExtractProgressHandler)SimpleProgressHandler, skipPatterns);
}
EXTRACTFUNCEND
EXTRACTFUNC(ExtractWithDetails)
{
g_sDetails = new TCHAR[string_size];
popstring(g_sDetails);
UStringVector skipPatterns;
PopSkipPatterns(skipPatterns);
DoExtract(sArchive, outDir, true, true, (ExtractProgressHandler)DetailsProgressHandler, skipPatterns);
delete[] g_sDetails;
}
EXTRACTFUNCEND
EXTRACTFUNC(ExtractWithCallback)
{
g_progressCallback = popint();
UStringVector skipPatterns;
PopSkipPatterns(skipPatterns);
DoExtract(sArchive, outDir, true, true, (ExtractProgressHandler)CallbackProgressHandler, skipPatterns);
}
EXTRACTFUNCEND
EXTRACTFUNC(ExtractWithFileCallback)
{
g_progressCallback = popint();
UStringVector skipPatterns;
PopSkipPatterns(skipPatterns);
DoExtractWithFile(sArchive, outDir, true, true, CallbackFileProgressHandler, skipPatterns);
}
EXTRACTFUNCEND
extern "C" BOOL WINAPI DllMain(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
{
g_hInstance2=(HINSTANCE)hInst;
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
{
DoInitialize();
}
return TRUE;
}
@@ -0,0 +1,229 @@
/*
* nsis_tchar.h
*
* This file is a part of NSIS.
*
* Copyright (C) 1999-2013 Nullsoft and Contributors
*
* This software is provided 'as-is', without any express or implied
* warranty.
*
* For Unicode support by Jim Park -- 08/30/2007
*/
// Jim Park: Only those we use are listed here.
#pragma once
#ifdef _UNICODE
#ifndef _T
#define __T(x) L ## x
#define _T(x) __T(x)
#define _TEXT(x) __T(x)
#endif
#ifndef _TCHAR_DEFINED
#define _TCHAR_DEFINED
#if !defined(_NATIVE_WCHAR_T_DEFINED) && !defined(_WCHAR_T_DEFINED)
typedef unsigned short TCHAR;
#else
typedef wchar_t TCHAR;
#endif
#endif
// program
#define _tenviron _wenviron
#define __targv __wargv
// printfs
#define _ftprintf fwprintf
#define _sntprintf _snwprintf
#if (defined(_MSC_VER) && (_MSC_VER<=1310)) || defined(__MINGW32__)
# define _stprintf swprintf
#else
# define _stprintf _swprintf
#endif
#define _tprintf wprintf
#define _vftprintf vfwprintf
#define _vsntprintf _vsnwprintf
#if defined(_MSC_VER) && (_MSC_VER<=1310)
# define _vstprintf vswprintf
#else
# define _vstprintf _vswprintf
#endif
// scanfs
#define _tscanf wscanf
#define _stscanf swscanf
// string manipulations
#define _tcscat wcscat
#define _tcschr wcschr
#define _tcsclen wcslen
#define _tcscpy wcscpy
#define _tcsdup _wcsdup
#define _tcslen wcslen
#define _tcsnccpy wcsncpy
#define _tcsncpy wcsncpy
#define _tcsrchr wcsrchr
#define _tcsstr wcsstr
#define _tcstok wcstok
// string comparisons
#define _tcscmp wcscmp
#define _tcsicmp _wcsicmp
#define _tcsncicmp _wcsnicmp
#define _tcsncmp wcsncmp
#define _tcsnicmp _wcsnicmp
// upper / lower
#define _tcslwr _wcslwr
#define _tcsupr _wcsupr
#define _totlower towlower
#define _totupper towupper
// conversions to numbers
#define _tcstoi64 _wcstoi64
#define _tcstol wcstol
#define _tcstoul wcstoul
#define _tstof _wtof
#define _tstoi _wtoi
#define _tstoi64 _wtoi64
#define _ttoi _wtoi
#define _ttoi64 _wtoi64
#define _ttol _wtol
// conversion from numbers to strings
#define _itot _itow
#define _ltot _ltow
#define _i64tot _i64tow
#define _ui64tot _ui64tow
// file manipulations
#define _tfopen _wfopen
#define _topen _wopen
#define _tremove _wremove
#define _tunlink _wunlink
// reading and writing to i/o
#define _fgettc fgetwc
#define _fgetts fgetws
#define _fputts fputws
#define _gettchar getwchar
// directory
#define _tchdir _wchdir
// environment
#define _tgetenv _wgetenv
#define _tsystem _wsystem
// time
#define _tcsftime wcsftime
#else // ANSI
#ifndef _T
#define _T(x) x
#define _TEXT(x) x
#endif
#ifndef _TCHAR_DEFINED
#define _TCHAR_DEFINED
typedef char TCHAR;
#endif
// program
#define _tenviron environ
#define __targv __argv
// printfs
#define _ftprintf fprintf
#define _sntprintf _snprintf
#define _stprintf sprintf
#define _tprintf printf
#define _vftprintf vfprintf
#define _vsntprintf _vsnprintf
#define _vstprintf vsprintf
// scanfs
#define _tscanf scanf
#define _stscanf sscanf
// string manipulations
#define _tcscat strcat
#define _tcschr strchr
#define _tcsclen strlen
#define _tcscnlen strnlen
#define _tcscpy strcpy
#define _tcsdup _strdup
#define _tcslen strlen
#define _tcsnccpy strncpy
#define _tcsrchr strrchr
#define _tcsstr strstr
#define _tcstok strtok
// string comparisons
#define _tcscmp strcmp
#define _tcsicmp _stricmp
#define _tcsncmp strncmp
#define _tcsncicmp _strnicmp
#define _tcsnicmp _strnicmp
// upper / lower
#define _tcslwr _strlwr
#define _tcsupr _strupr
#define _totupper toupper
#define _totlower tolower
// conversions to numbers
#define _tcstol strtol
#define _tcstoul strtoul
#define _tstof atof
#define _tstoi atoi
#define _tstoi64 _atoi64
#define _tstoi64 _atoi64
#define _ttoi atoi
#define _ttoi64 _atoi64
#define _ttol atol
// conversion from numbers to strings
#define _i64tot _i64toa
#define _itot _itoa
#define _ltot _ltoa
#define _ui64tot _ui64toa
// file manipulations
#define _tfopen fopen
#define _topen _open
#define _tremove remove
#define _tunlink _unlink
// reading and writing to i/o
#define _fgettc fgetc
#define _fgetts fgets
#define _fputts fputs
#define _gettchar getchar
// directory
#define _tchdir _chdir
// environment
#define _tgetenv getenv
#define _tsystem system
// time
#define _tcsftime strftime
#endif
// is functions (the same in Unicode / ANSI)
#define _istgraph isgraph
#define _istascii __isascii
#define __TFILE__ _T(__FILE__)
#define __TDATE__ _T(__DATE__)
#define __TTIME__ _T(__TIME__)
@@ -0,0 +1,292 @@
#include "StdAfx.h"
#ifdef _countof
#define COUNTOF _countof
#else
#define COUNTOF(a) (sizeof(a)/sizeof(a[0]))
#endif
unsigned int g_stringsize;
stack_t **g_stacktop;
TCHAR *g_variables;
// utility functions (not required but often useful)
int NSISCALL popstring(TCHAR *str)
{
stack_t *th;
if (!g_stacktop || !*g_stacktop) return 1;
th=(*g_stacktop);
if (str) lstrcpy(str,th->text);
*g_stacktop = th->next;
GlobalFree((HGLOBAL)th);
return 0;
}
int NSISCALL popstringn(TCHAR *str, int maxlen)
{
stack_t *th;
if (!g_stacktop || !*g_stacktop) return 1;
th=(*g_stacktop);
if (str) lstrcpyn(str,th->text,maxlen?maxlen:g_stringsize);
*g_stacktop = th->next;
GlobalFree((HGLOBAL)th);
return 0;
}
void NSISCALL pushstring(const TCHAR *str)
{
stack_t *th;
if (!g_stacktop) return;
th=(stack_t*)GlobalAlloc(GPTR,(sizeof(stack_t)+(g_stringsize)*sizeof(TCHAR)));
lstrcpyn(th->text,str,g_stringsize);
th->next=*g_stacktop;
*g_stacktop=th;
}
TCHAR* NSISCALL getuservariable(const int varnum)
{
if (varnum < 0 || varnum >= __INST_LAST) return NULL;
return g_variables+varnum*g_stringsize;
}
void NSISCALL setuservariable(const int varnum, const TCHAR *var)
{
if (var != NULL && varnum >= 0 && varnum < __INST_LAST)
lstrcpy(g_variables + varnum*g_stringsize, var);
}
#ifdef _UNICODE
int NSISCALL PopStringA(char* ansiStr)
{
wchar_t* wideStr = (wchar_t*) GlobalAlloc(GPTR, g_stringsize*sizeof(wchar_t));
int rval = popstring(wideStr);
WideCharToMultiByte(CP_ACP, 0, wideStr, -1, ansiStr, g_stringsize, NULL, NULL);
GlobalFree((HGLOBAL)wideStr);
return rval;
}
int NSISCALL PopStringNA(char* ansiStr, int maxlen)
{
int realLen = maxlen ? maxlen : g_stringsize;
wchar_t* wideStr = (wchar_t*) GlobalAlloc(GPTR, realLen*sizeof(wchar_t));
int rval = popstringn(wideStr, realLen);
WideCharToMultiByte(CP_ACP, 0, wideStr, -1, ansiStr, realLen, NULL, NULL);
GlobalFree((HGLOBAL)wideStr);
return rval;
}
void NSISCALL PushStringA(const char* ansiStr)
{
wchar_t* wideStr = (wchar_t*) GlobalAlloc(GPTR, g_stringsize*sizeof(wchar_t));
MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, wideStr, g_stringsize);
pushstring(wideStr);
GlobalFree((HGLOBAL)wideStr);
return;
}
void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr)
{
lstrcpyW(wideStr, getuservariable(varnum));
}
void NSISCALL GetUserVariableA(const int varnum, char* ansiStr)
{
wchar_t* wideStr = getuservariable(varnum);
WideCharToMultiByte(CP_ACP, 0, wideStr, -1, ansiStr, g_stringsize, NULL, NULL);
}
void NSISCALL SetUserVariableA(const int varnum, const char* ansiStr)
{
if (ansiStr != NULL && varnum >= 0 && varnum < __INST_LAST)
{
wchar_t* wideStr = g_variables + varnum * g_stringsize;
MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, wideStr, g_stringsize);
}
}
#else
// ANSI defs
int NSISCALL PopStringW(wchar_t* wideStr)
{
char* ansiStr = (char*) GlobalAlloc(GPTR, g_stringsize);
int rval = popstring(ansiStr);
MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, wideStr, g_stringsize);
GlobalFree((HGLOBAL)ansiStr);
return rval;
}
int NSISCALL PopStringNW(wchar_t* wideStr, int maxlen)
{
int realLen = maxlen ? maxlen : g_stringsize;
char* ansiStr = (char*) GlobalAlloc(GPTR, realLen);
int rval = popstringn(ansiStr, realLen);
MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, wideStr, realLen);
GlobalFree((HGLOBAL)ansiStr);
return rval;
}
void NSISCALL PushStringW(wchar_t* wideStr)
{
char* ansiStr = (char*) GlobalAlloc(GPTR, g_stringsize);
WideCharToMultiByte(CP_ACP, 0, wideStr, -1, ansiStr, g_stringsize, NULL, NULL);
pushstring(ansiStr);
GlobalFree((HGLOBAL)ansiStr);
}
void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr)
{
char* ansiStr = getuservariable(varnum);
MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, wideStr, g_stringsize);
}
void NSISCALL GetUserVariableA(const int varnum, char* ansiStr)
{
lstrcpyA(ansiStr, getuservariable(varnum));
}
void NSISCALL SetUserVariableW(const int varnum, const wchar_t* wideStr)
{
if (wideStr != NULL && varnum >= 0 && varnum < __INST_LAST)
{
char* ansiStr = g_variables + varnum * g_stringsize;
WideCharToMultiByte(CP_ACP, 0, wideStr, -1, ansiStr, g_stringsize, NULL, NULL);
}
}
#endif
// playing with integers
INT_PTR NSISCALL nsishelper_str_to_ptr(const TCHAR *s)
{
INT_PTR v=0;
if (*s == _T('0') && (s[1] == _T('x') || s[1] == _T('X')))
{
s++;
for (;;)
{
int c=*(++s);
if (c >= _T('0') && c <= _T('9')) c-=_T('0');
else if (c >= _T('a') && c <= _T('f')) c-=_T('a')-10;
else if (c >= _T('A') && c <= _T('F')) c-=_T('A')-10;
else break;
v<<=4;
v+=c;
}
}
else if (*s == _T('0') && s[1] <= _T('7') && s[1] >= _T('0'))
{
for (;;)
{
int c=*(++s);
if (c >= _T('0') && c <= _T('7')) c-=_T('0');
else break;
v<<=3;
v+=c;
}
}
else
{
int sign=0;
if (*s == _T('-')) sign++; else s--;
for (;;)
{
int c=*(++s) - _T('0');
if (c < 0 || c > 9) break;
v*=10;
v+=c;
}
if (sign) v = -v;
}
return v;
}
unsigned int NSISCALL myatou(const TCHAR *s)
{
unsigned int v=0;
for (;;)
{
unsigned int c=*s++;
if (c >= _T('0') && c <= _T('9')) c-=_T('0');
else break;
v*=10;
v+=c;
}
return v;
}
int NSISCALL myatoi_or(const TCHAR *s)
{
int v=0;
if (*s == _T('0') && (s[1] == _T('x') || s[1] == _T('X')))
{
s++;
for (;;)
{
int c=*(++s);
if (c >= _T('0') && c <= _T('9')) c-=_T('0');
else if (c >= _T('a') && c <= _T('f')) c-=_T('a')-10;
else if (c >= _T('A') && c <= _T('F')) c-=_T('A')-10;
else break;
v<<=4;
v+=c;
}
}
else if (*s == _T('0') && s[1] <= _T('7') && s[1] >= _T('0'))
{
for (;;)
{
int c=*(++s);
if (c >= _T('0') && c <= _T('7')) c-=_T('0');
else break;
v<<=3;
v+=c;
}
}
else
{
int sign=0;
if (*s == _T('-')) sign++; else s--;
for (;;)
{
int c=*(++s) - _T('0');
if (c < 0 || c > 9) break;
v*=10;
v+=c;
}
if (sign) v = -v;
}
// Support for simple ORed expressions
if (*s == _T('|'))
{
v |= myatoi_or(s+1);
}
return v;
}
INT_PTR NSISCALL popintptr()
{
TCHAR buf[128];
if (popstringn(buf,COUNTOF(buf)))
return 0;
return nsishelper_str_to_ptr(buf);
}
int NSISCALL popint_or()
{
TCHAR buf[128];
if (popstringn(buf,COUNTOF(buf)))
return 0;
return myatoi_or(buf);
}
void NSISCALL pushintptr(INT_PTR value)
{
TCHAR buffer[30];
wsprintf(buffer, sizeof(void*) > 4 ? _T("%Id") : _T("%d"), value);
pushstring(buffer);
}
@@ -0,0 +1,115 @@
#ifndef ___NSIS_PLUGIN__H___
#define ___NSIS_PLUGIN__H___
#ifdef __cplusplus
extern "C" {
#endif
#include "api.h"
#ifdef _UNICODE
#ifndef _T
#define __T(x) L ## x
#define _T(x) __T(x)
#define _TEXT(x) __T(x)
#endif
#else
#ifndef _T
#define _T(x) x
#define _TEXT(x) x
#endif
#endif
#ifndef NSISCALL
# define NSISCALL __stdcall
#endif
#define EXDLL_INIT() { \
g_stringsize=string_size; \
g_stacktop=stacktop; \
g_variables=variables; }
typedef struct _stack_t {
struct _stack_t *next;
TCHAR text[1]; // this should be the length of string_size
} stack_t;
enum
{
INST_0, // $0
INST_1, // $1
INST_2, // $2
INST_3, // $3
INST_4, // $4
INST_5, // $5
INST_6, // $6
INST_7, // $7
INST_8, // $8
INST_9, // $9
INST_R0, // $R0
INST_R1, // $R1
INST_R2, // $R2
INST_R3, // $R3
INST_R4, // $R4
INST_R5, // $R5
INST_R6, // $R6
INST_R7, // $R7
INST_R8, // $R8
INST_R9, // $R9
INST_CMDLINE, // $CMDLINE
INST_INSTDIR, // $INSTDIR
INST_OUTDIR, // $OUTDIR
INST_EXEDIR, // $EXEDIR
INST_LANG, // $LANGUAGE
__INST_LAST
};
extern unsigned int g_stringsize;
extern stack_t **g_stacktop;
extern TCHAR *g_variables;
void NSISCALL pushstring(const TCHAR *str);
void NSISCALL pushintptr(INT_PTR value);
#define pushint(v) pushintptr((INT_PTR)(v))
int NSISCALL popstring(TCHAR *str); // 0 on success, 1 on empty stack
int NSISCALL popstringn(TCHAR *str, int maxlen); // with length limit, pass 0 for g_stringsize
INT_PTR NSISCALL popintptr();
#define popint() ( (int) popintptr() )
int NSISCALL popint_or(); // with support for or'ing (2|4|8)
INT_PTR NSISCALL nsishelper_str_to_ptr(const TCHAR *s);
#define myatoi(s) ( (int) nsishelper_str_to_ptr(s) ) // converts a string to an integer
unsigned int NSISCALL myatou(const TCHAR *s); // converts a string to an unsigned integer, decimal only
int NSISCALL myatoi_or(const TCHAR *s); // with support for or'ing (2|4|8)
TCHAR* NSISCALL getuservariable(const int varnum);
void NSISCALL setuservariable(const int varnum, const TCHAR *var);
#ifdef _UNICODE
#define PopStringW(x) popstring(x)
#define PushStringW(x) pushstring(x)
#define SetUserVariableW(x,y) setuservariable(x,y)
int NSISCALL PopStringA(char* ansiStr);
void NSISCALL PushStringA(const char* ansiStr);
void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr);
void NSISCALL GetUserVariableA(const int varnum, char* ansiStr);
void NSISCALL SetUserVariableA(const int varnum, const char* ansiStr);
#else
// ANSI defs
#define PopStringA(x) popstring(x)
#define PushStringA(x) pushstring(x)
#define SetUserVariableA(x,y) setuservariable(x,y)
int NSISCALL PopStringW(wchar_t* wideStr);
void NSISCALL PushStringW(wchar_t* wideStr);
void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr);
void NSISCALL GetUserVariableA(const int varnum, char* ansiStr);
void NSISCALL SetUserVariableW(const int varnum, const wchar_t* wideStr);
#endif
#ifdef __cplusplus
}
#endif
#endif//!___NSIS_PLUGIN__H___
@@ -0,0 +1,19 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by resource.rc
//
#define MY_VER_BUILD 0
#define DBG_FL 0
#define MY_VER_MAJOR 9
#define MY_VER_MINOR 20
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
@@ -0,0 +1,99 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (United States) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 25,01,0,0
PRODUCTVERSION 25,01,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Igor Pavlov"
VALUE "FileDescription", "7-Zip NSIS Plug-in"
VALUE "FileVersion", "25.01.0.0"
VALUE "InternalName", "nsis7z"
VALUE "LegalCopyright", "Copyright (c) 1999-2025 Igor Pavlov, Nik Medved, Marek Mizanin, Stuart Welch"
VALUE "OriginalFilename", "nsis7z.dll"
VALUE "ProductName", "7-Zip"
VALUE "ProductVersion", "25.01.0.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (United States) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Common
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Compress
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Crc.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Crc64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Crypto
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/GuiCommon.rc
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Guid.txt
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/ICoder.h
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/IDecl.h
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/IPassword.h
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/IProgress.h
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/IStream.h
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/LzFindOpt.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/LzmaDec.mak
@@ -0,0 +1,4 @@
# Forwarding stub: Arc_gcc.mak includes ../../LzmaDec_gcc.mak relative to make's CWD.
# When building from versions/25.01-bundle/CPP/7zip/Bundles/Nsis7z, the CWD-relative
# ../../LzmaDec_gcc.mak resolves here. Forward to the real file in the vendor tree.
include $(VENDOR_7ZIP)/LzmaDec_gcc.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/MyVersion.h
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/MyVersionInfo.rc
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/PropID.h
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Sha1.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Sha256.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/Sort.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/SubBuild.mak
+1
View File
@@ -0,0 +1 @@
../../../../25.01/CPP/7zip/UI/Agent
+1
View File
@@ -0,0 +1 @@
../../../../25.01/CPP/7zip/UI/Client7z
+1
View File
@@ -0,0 +1 @@
../../../../25.01/CPP/7zip/UI/Common
+1
View File
@@ -0,0 +1 @@
../../../../25.01/CPP/7zip/UI/Console
+1
View File
@@ -0,0 +1 @@
../../../../25.01/CPP/7zip/UI/Explorer
+1
View File
@@ -0,0 +1 @@
../../../../25.01/CPP/7zip/UI/Far
+1
View File
@@ -0,0 +1 @@
../../../../25.01/CPP/7zip/UI/FileManager
+1
View File
@@ -0,0 +1 @@
../../../../25.01/CPP/7zip/UI/GUI
@@ -0,0 +1,163 @@
// ExtractCallbackConsole.h
#include "StdAfx.h"
#include "../../../Common/Common.h"
#include "ExtractCallbackConsole.h"
#include "UserInputUtils2.h"
#include "NSISBreak.h"
#include "Common/Wildcard.h"
#include "Windows/FileDir.h"
#include "Windows/FileFind.h"
#include "Windows/TimeUtils.h"
#include "Windows/Defs.h"
#include "Windows/PropVariant.h"
#include "Windows/ErrorMsg.h"
#include "Windows/PropVariantConv.h"
#include "../../Common/FilePathAutoRename.h"
#include "../Common/ExtractingFilePath.h"
using namespace NWindows;
using namespace NFile;
using namespace NDir;
extern HWND g_hwndProgress;
void CExtractCallbackConsole::UpdateProgress()
{
// Prima controlla se c'è il callback con filename (nuova funzione)
if (ProgressWithFileHandler != NULL)
{
if (completedSize != -1 || totalSize > 0)
ProgressWithFileHandler(completedSize, totalSize, CurrentFileName.Ptr());
else
ProgressWithFileHandler(0, 0, CurrentFileName.Ptr());
}
// Altrimenti usa il callback originale (per compatibilità)
else if (ProgressHandler != NULL)
{
if (completedSize != -1 || totalSize > 0)
ProgressHandler(completedSize, totalSize);
else
ProgressHandler(0, 0);
}
}
STDMETHODIMP CExtractCallbackConsole::SetTotal(UInt64 val)
{
totalSize = val;
UpdateProgress();
if (NNSISBreak::TestBreakSignal())
return E_ABORT;
return S_OK;
}
STDMETHODIMP CExtractCallbackConsole::SetCompleted(const UInt64 *val)
{
completedSize = *val;
UpdateProgress();
if (NNSISBreak::TestBreakSignal())
return E_ABORT;
return S_OK;
}
STDMETHODIMP CExtractCallbackConsole::AskOverwrite(
const wchar_t *existName, const FILETIME *, const UInt64 *,
const wchar_t *newName, const FILETIME *, const UInt64 *,
Int32 *answer)
{
*answer = NOverwriteAnswer::kYesToAll;
return S_OK;
}
STDMETHODIMP CExtractCallbackConsole::PrepareOperation(const wchar_t *name, Int32 isFolder, Int32 askExtractMode, const UInt64 *position)
{
// Memorizza il nome del file corrente per passarlo al callback
CurrentFileName = name;
return S_OK;
}
STDMETHODIMP CExtractCallbackConsole::MessageError(const wchar_t *message)
{
NumFileErrorsInCurrentArchive++;
NumFileErrors++;
return S_OK;
}
STDMETHODIMP CExtractCallbackConsole::SetOperationResult(Int32 opRes, Int32 encrypted)
{
switch(opRes)
{
case NArchive::NExtract::NOperationResult::kOK:
break;
default:
{
NumFileErrorsInCurrentArchive++;
NumFileErrors++;
}
}
return S_OK;
}
#ifndef Z7_NO_CRYPTO
HRESULT CExtractCallbackConsole::SetPassword(const UString &password)
{
PasswordIsDefined = true;
Password = password;
return S_OK;
}
STDMETHODIMP CExtractCallbackConsole::CryptoGetTextPassword(BSTR *password)
{
if (!PasswordIsDefined)
{
Password = GetPassword(OutStream);
PasswordIsDefined = true;
}
return StringToBstr(Password, password);
}
#endif
HRESULT CExtractCallbackConsole::BeforeOpen(const wchar_t *name, bool testMode)
{
NumArchives++;
NumFileErrorsInCurrentArchive = 0;
return S_OK;
}
HRESULT CExtractCallbackConsole::OpenResult(const CCodecs *codecs, const CArchiveLink &arcLink, const wchar_t *name, HRESULT result)
{
if (result != S_OK)
{
NumArchiveErrors++;
}
return S_OK;
}
HRESULT CExtractCallbackConsole::ThereAreNoFiles()
{
return S_OK;
}
HRESULT CExtractCallbackConsole::ExtractResult(HRESULT result)
{
if (result == S_OK)
{
if (NumFileErrorsInCurrentArchive != 0)
{
NumArchiveErrors++;
}
return result;
}
NumArchiveErrors++;
if (result == E_ABORT || result == ERROR_DISK_FULL)
return result;
return S_OK;
}
@@ -0,0 +1,98 @@
// ExtractCallbackConsole.h
// NSIS version adapted for 7-Zip 25.01 API
#ifndef __EXTRACTCALLBACKCONSOLE_H
#define __EXTRACTCALLBACKCONSOLE_H
#include "Common/MyCom.h"
#include "Common/MyString.h"
#include "Common/StdOutStream.h"
#include "../../Common/FileStreams.h"
#include "../../IPassword.h"
#include "../../Archive/IArchive.h"
#include "../Common/ArchiveExtractCallback.h"
#include "../Console/OpenCallbackConsole.h"
typedef void (*ExtractProgressHandler)(UInt64 completedSize, UInt64 totalSize);
typedef void (*ExtractProgressWithFileHandler)(UInt64 completedSize, UInt64 totalSize, const wchar_t *fileName);
class CExtractCallbackConsole Z7_final:
public IFolderArchiveExtractCallback,
public IExtractCallbackUI,
#ifndef Z7_NO_CRYPTO
public ICryptoGetTextPassword,
#endif
public COpenCallbackConsole,
public CMyUnknownImp
{
Z7_COM_QI_BEGIN2(IFolderArchiveExtractCallback)
#ifndef Z7_NO_CRYPTO
Z7_COM_QI_ENTRY(ICryptoGetTextPassword)
#endif
Z7_COM_QI_END
Z7_COM_ADDREF_RELEASE
// IProgress
Z7_IFACE_COM7_IMP(IProgress)
// IFolderArchiveExtractCallback
Z7_IFACE_COM7_IMP(IFolderArchiveExtractCallback)
// IExtractCallbackUI (non-COM interface)
Z7_IFACE_IMP(IExtractCallbackUI)
#ifndef Z7_NO_CRYPTO
Z7_IFACE_COM7_IMP(ICryptoGetTextPassword)
#endif
public:
#ifndef Z7_NO_CRYPTO
bool PasswordIsDefined;
UString Password;
#endif
UInt64 NumArchives;
UInt64 NumArchiveErrors;
UInt64 NumFileErrors;
UInt64 NumFileErrorsInCurrentArchive;
CStdOutStream *OutStream;
UInt64 totalSize, completedSize, lastVal;
ExtractProgressHandler ProgressHandler;
ExtractProgressWithFileHandler ProgressWithFileHandler;
UString CurrentFileName;
CExtractCallbackConsole():
PasswordIsDefined(false),
NumArchives(0),
NumArchiveErrors(0),
NumFileErrors(0),
NumFileErrorsInCurrentArchive(0),
OutStream(NULL),
totalSize((UInt64)(Int64)-1),
completedSize(0),
lastVal(0),
ProgressHandler(NULL),
ProgressWithFileHandler(NULL)
{}
void Init()
{
NumArchives = 0;
NumArchiveErrors = 0;
NumFileErrors = 0;
NumFileErrorsInCurrentArchive = 0;
totalSize = (UInt64)(Int64)-1;
completedSize = 0;
lastVal = 0;
ProgressHandler = NULL;
ProgressWithFileHandler = NULL;
}
void UpdateProgress();
};
#endif
@@ -0,0 +1,313 @@
// Main.cpp
#include "StdAfx.h"
#include "../../../Common/Common.h"
#include "Common/MyInitGuid.h"
#include "Common/CommandLineParser.h"
#include "Common/MyException.h"
#include "Common/IntToString.h"
#include "Common/StdOutStream.h"
#include "Common/StringConvert.h"
#include "Common/StringToInt.h"
#include "Windows/FileDir.h"
#include "Windows/FileName.h"
#include "Windows/Defs.h"
#include "Windows/ErrorMsg.h"
#ifdef _WIN32
#include "Windows/MemoryLock.h"
#endif
#include "../../IPassword.h"
#include "../../ICoder.h"
#include "../Common/UpdateAction.h"
#include "../Common/Update.h"
#include "../Common/Extract.h"
#include "../Common/ArchiveCommandLine.h"
#include "../Common/ExitCode.h"
#ifdef EXTERNAL_CODECS
#include "../Common/LoadCodecs.h"
#endif
//#include "../../Compress/LZMA_Alone/LzmaBenchCon.h"
#include "../Console/OpenCallbackConsole.h"
#include "ExtractCallbackConsole.h"
#include "../../MyVersion.h"
#if defined( _WIN32) && defined( _7ZIP_LARGE_PAGES)
extern "C"
{
#include "../../../../C/Alloc.h"
}
#endif
using namespace NWindows;
using namespace NFile;
using namespace NCommandLineParser;
HINSTANCE g_hInstance = 0;
// ---------------------------
// exception messages
#ifndef _WIN32
static void GetArguments(int numArguments, const char *arguments[], UStringVector &parts)
{
parts.Clear();
for(int i = 0; i < numArguments; i++)
{
UString s = MultiByteToUnicodeString(arguments[i]);
parts.Add(s);
}
}
#endif
#ifdef EXTERNAL_CODECS
static void PrintString(CStdOutStream &stdStream, const AString &s, int size)
{
int len = s.Length();
stdStream << s;
for (int i = len; i < size; i++)
stdStream << ' ';
}
#endif
static inline char GetHex(Byte value)
{
return (char)((value < 10) ? ('0' + value) : ('A' + (value - 10)));
}
#ifdef _WIN32
void SwitchFileAPIEncoding(BOOL ansi)
{
if (ansi)
{
SetFileApisToOEM();
}
else
{
SetFileApisToANSI();
}
}
#endif
int DoExtractArchive(UString archive, UString targetDir, bool overwrite, bool extractPaths, ExtractProgressHandler epc, const UStringVector& skipPatterns)
{
CCodecs *codecs = new CCodecs;
CMyComPtr<IUnknown> compressCodecsInfo = codecs;
HRESULT result = codecs->Load();
if (result != S_OK)
throw CSystemException(result);
if (codecs->Formats.Size() == 0) throw -1;
CIntVector formatIndices;
if (!codecs->FindFormatForArchiveType(L"7z", formatIndices))
{
throw -1;
}
BOOL bApisAreAnsi = AreFileApisANSI();
#ifdef _WIN32
if (bApisAreAnsi)
SwitchFileAPIEncoding(bApisAreAnsi);
#endif
CExtractCallbackConsole *ecs = new CExtractCallbackConsole();
CMyComPtr<IFolderArchiveExtractCallback> extractCallback = ecs;
ecs->Init();
ecs->ProgressHandler = epc; // Imposta DOPO Init()
COpenCallbackConsole openCallback;
CExtractOptions eo;
eo.StdOutMode = false;
eo.PathMode = extractPaths?NExtract::NPathMode::kCurPaths:NExtract::NPathMode::kNoPaths;
eo.TestMode = false;
eo.OverwriteMode = overwrite?NExtract::NOverwriteMode::kOverwrite:NExtract::NOverwriteMode::kSkip;
eo.OutputDir = targetDir;
eo.YesToAll = true;
#ifdef COMPRESS_MT
CObjectVector<CProperty> prp;
eo.Properties = prp;
#endif
UString errorMessage;
CDecompressStat stat;
NWildcard::CCensor wildcardCensor;
NWildcard::CCensorPathProps props;
props.Recursive = true;
props.WildcardMatching = true;
wildcardCensor.AddItem(NWildcard::ECensorPathMode::k_FullPath, true, L"*", props);
for (unsigned i = 0; i < skipPatterns.Size(); i++)
{
const UString &p = skipPatterns[i];
if (p.IsEmpty()) continue;
// Keep only single-name patterns: multi-segment ones land in a separate Pair
// and would be silently ignored by Pairs.Front().Head below.
if (p.Find(L'\\') >= 0 || p.Find(L'/') >= 0) continue;
wildcardCensor.AddItem(NWildcard::ECensorPathMode::k_FullPath, false, p, props);
}
UStringVector ArchivePathsSorted;
UStringVector ArchivePathsFullSorted;
ArchivePathsSorted.Add(archive);
UString fullPath;
NFile::NDir::MyGetFullPathName(archive, fullPath);
ArchivePathsFullSorted.Add(fullPath);
UStringVector v1, v2;
v1.Add(fs2us(archive));
v2.Add(fs2us(archive));
const NWildcard::CCensorNode &wildcardCensorHead =
wildcardCensor.Pairs.Front().Head;
result = Extract(
codecs, CObjectVector<COpenType>(), CIntVector(),
v1, v2,
wildcardCensorHead,
eo, ecs, ecs, ecs,
#ifndef Z7_SFX
NULL, // hash
#endif
errorMessage, stat);
#ifdef _WIN32
if (bApisAreAnsi)
SwitchFileAPIEncoding(!bApisAreAnsi);
#endif
if (!errorMessage.IsEmpty())
{
if (result == S_OK)
result = E_FAIL;
}
if (ecs->NumArchiveErrors != 0 || ecs->NumFileErrors != 0)
{
if (result != S_OK)
throw CSystemException(result);
return NExitCode::kFatalError;
}
if (result != S_OK)
throw CSystemException(result);
return 0;
}
int DoExtractArchiveWithFile(UString archive, UString targetDir, bool overwrite, bool extractPaths, ExtractProgressWithFileHandler epc, const UStringVector& skipPatterns)
{
CCodecs *codecs = new CCodecs;
CMyComPtr<IUnknown> compressCodecsInfo = codecs;
HRESULT result = codecs->Load();
if (result != S_OK)
throw CSystemException(result);
if (codecs->Formats.Size() == 0) throw -1;
CIntVector formatIndices;
if (!codecs->FindFormatForArchiveType(L"7z", formatIndices))
{
throw -1;
}
BOOL bApisAreAnsi = AreFileApisANSI();
#ifdef _WIN32
if (bApisAreAnsi)
SwitchFileAPIEncoding(bApisAreAnsi);
#endif
CExtractCallbackConsole *ecs = new CExtractCallbackConsole();
CMyComPtr<IFolderArchiveExtractCallback> extractCallback = ecs;
ecs->Init();
ecs->ProgressWithFileHandler = epc; // Imposta DOPO Init() per evitare che venga resettato
COpenCallbackConsole openCallback;
CExtractOptions eo;
eo.StdOutMode = false;
eo.PathMode = extractPaths?NExtract::NPathMode::kCurPaths:NExtract::NPathMode::kNoPaths;
eo.TestMode = false;
eo.OverwriteMode = overwrite?NExtract::NOverwriteMode::kOverwrite:NExtract::NOverwriteMode::kSkip;
eo.OutputDir = targetDir;
eo.YesToAll = true;
#ifdef COMPRESS_MT
CObjectVector<CProperty> prp;
eo.Properties = prp;
#endif
UString errorMessage;
CDecompressStat stat;
NWildcard::CCensor wildcardCensor;
NWildcard::CCensorPathProps props;
props.Recursive = true;
props.WildcardMatching = true;
wildcardCensor.AddItem(NWildcard::ECensorPathMode::k_FullPath, true, L"*", props);
for (unsigned i = 0; i < skipPatterns.Size(); i++)
{
const UString &p = skipPatterns[i];
if (p.IsEmpty()) continue;
// Keep only single-name patterns: multi-segment ones land in a separate Pair
// and would be silently ignored by Pairs.Front().Head below.
if (p.Find(L'\\') >= 0 || p.Find(L'/') >= 0) continue;
wildcardCensor.AddItem(NWildcard::ECensorPathMode::k_FullPath, false, p, props);
}
UStringVector ArchivePathsSorted;
UStringVector ArchivePathsFullSorted;
ArchivePathsSorted.Add(archive);
UString fullPath;
NFile::NDir::MyGetFullPathName(archive, fullPath);
ArchivePathsFullSorted.Add(fullPath);
UStringVector v1, v2;
v1.Add(fs2us(archive));
v2.Add(fs2us(archive));
const NWildcard::CCensorNode &wildcardCensorHead =
wildcardCensor.Pairs.Front().Head;
result = Extract(
codecs, CObjectVector<COpenType>(), CIntVector(),
v1, v2,
wildcardCensorHead,
eo, ecs, ecs, ecs,
#ifndef Z7_SFX
NULL, // hash
#endif
errorMessage, stat);
#ifdef _WIN32
if (bApisAreAnsi)
SwitchFileAPIEncoding(!bApisAreAnsi);
#endif
if (!errorMessage.IsEmpty())
{
if (result == S_OK)
result = E_FAIL;
}
if (ecs->NumArchiveErrors != 0 || ecs->NumFileErrors != 0)
{
if (result != S_OK)
throw CSystemException(result);
return NExitCode::kFatalError;
}
if (result != S_OK)
throw CSystemException(result);
return 0;
}
@@ -0,0 +1,109 @@
// MainAr.cpp
#include "StdAfx.h"
// #include <locale.h>
#include "../../../Common/Common.h"
#include "Windows/ErrorMsg.h"
#include "Common/StdOutStream.h"
#include "Common/NewHandler.h"
#include "Common/MyException.h"
#include "Common/StringConvert.h"
#include "../Common/ExitCode.h"
#include "../Common/ArchiveCommandLine.h"
#include "ExtractCallbackConsole.h"
#include "NSISBreak.h"
using namespace NWindows;
#ifdef _WIN32
#pragma warning(disable : 4996)
#ifndef _UNICODE
bool g_IsNT = false;
#endif
#if !defined(_UNICODE) || !defined(_WIN64)
static inline bool IsItWindowsNT()
{
OSVERSIONINFO versionInfo;
versionInfo.dwOSVersionInfoSize = sizeof(versionInfo);
if (!::GetVersionEx(&versionInfo))
return false;
return (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT);
}
#endif
#endif
void DoInitialize()
{
#ifdef _WIN32
#ifdef _UNICODE
#ifndef _WIN64
if (!IsItWindowsNT())
{
//(*g_StdStream) << "This program requires Windows NT/2000/2003/2008/XP/Vista";
// return NExitCode::kFatalError;
return;
}
#endif
#else
g_IsNT = IsItWindowsNT();
#endif
#endif
}
extern int DoExtractArchive(UString archive, UString targetDir, bool overwrite, bool extractPathes, ExtractProgressHandler epc, const UStringVector& skipPatterns);
extern int DoExtractArchiveWithFile(UString archive, UString targetDir, bool overwrite, bool extractPathes, ExtractProgressWithFileHandler epc, const UStringVector& skipPatterns);
int DoExtract(LPTSTR archive, LPTSTR dir, bool overwrite, bool expath, ExtractProgressHandler epc, const UStringVector& skipPatterns)
{
if (!archive || !dir) return -1;
int res = 0;
try
{
#ifdef UNICODE
UString uarchive(archive);
UString udir(dir);
#else
UString uarchive = MultiByteToUnicodeString(AString(archive));
UString udir = MultiByteToUnicodeString(AString(dir));
#endif
res = DoExtractArchive(uarchive, udir, overwrite, expath, epc, skipPatterns);
}
catch(...)
{
return -1;
}
return res;
}
int DoExtractWithFile(LPTSTR archive, LPTSTR dir, bool overwrite, bool expath, ExtractProgressWithFileHandler epc, const UStringVector& skipPatterns)
{
if (!archive || !dir) return -1;
int res = 0;
try
{
#ifdef UNICODE
UString uarchive(archive);
UString udir(dir);
#else
UString uarchive = MultiByteToUnicodeString(AString(archive));
UString udir = MultiByteToUnicodeString(AString(dir));
#endif
res = DoExtractArchiveWithFile(uarchive, udir, overwrite, expath, epc, skipPatterns);
}
catch(...)
{
return -1;
}
return res;
}
@@ -0,0 +1,31 @@
// ConsoleClose.cpp
#include "StdAfx.h"
#include "NSISBreak.h"
static int g_BreakCounter = 0;
namespace NNSISBreak {
void SendBreakSignal()
{
g_BreakCounter++;
}
bool TestBreakSignal()
{
/*
if (g_BreakCounter > 0)
return true;
*/
return (g_BreakCounter > 0);
}
void CheckCtrlBreak()
{
if (TestBreakSignal())
throw CCtrlBreakException();
}
}
@@ -0,0 +1,16 @@
#ifndef __NSISBREAKUTILS_H
#define __NSISBREAKUTILS_H
namespace NNSISBreak {
bool TestBreakSignal();
void SendBreakSignal();
class CCtrlBreakException
{};
void CheckCtrlBreak();
}
#endif
@@ -0,0 +1,15 @@
// StdAfx.h
#ifndef __STDAFX_H
#define __STDAFX_H
#ifdef _WIN32
#if defined(__MINGW32__) || defined(__MINGW64__)
#include <windows.h>
#else
#include <Windows.h>
#endif
#endif
#include "../../Bundles/Nsis7z/pluginapi.h"
#endif
@@ -0,0 +1,60 @@
// UserInputUtils.cpp
#include "StdAfx.h"
#include "Common/StdInStream.h"
#include "Common/StringConvert.h"
#include "UserInputUtils2.h"
static const char kYes = 'Y';
static const char kNo = 'N';
static const char kYesAll = 'A';
static const char kNoAll = 'S';
static const char kAutoRename = 'U';
static const char kQuit = 'Q';
static const char *kFirstQuestionMessage = "?\n";
static const char *kHelpQuestionMessage =
"(Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename / (Q)uit? ";
// return true if pressed Quite;
// in: anAll
// out: anAll, anYes;
NUserAnswerMode::EEnum ScanUserYesNoAllQuit2(CStdOutStream *outStream)
{
(*outStream) << kFirstQuestionMessage;
for(;;)
{
(*outStream) << kHelpQuestionMessage;
AString scannedString;
g_StdIn.ScanAStringUntilNewLine(scannedString);
scannedString.Trim();
if(!scannedString.IsEmpty())
switch(::MyCharUpper(scannedString[0]))
{
case kYes:
return NUserAnswerMode::kYes;
case kNo:
return NUserAnswerMode::kNo;
case kYesAll:
return NUserAnswerMode::kYesAll;
case kNoAll:
return NUserAnswerMode::kNoAll;
case kAutoRename:
return NUserAnswerMode::kAutoRename;
case kQuit:
return NUserAnswerMode::kQuit;
}
}
}
UString GetPassword(CStdOutStream *outStream)
{
(*outStream) << "\nEnter password:";
outStream->Flush();
AString oemPassword;
g_StdIn.ScanAStringUntilNewLine(oemPassword);
return MultiByteToUnicodeString(oemPassword, CP_OEMCP);
}
@@ -0,0 +1,24 @@
// UserInputUtils.h
#ifndef __USERINPUTUTILS_H
#define __USERINPUTUTILS_H
#include "Common/StdOutStream.h"
namespace NUserAnswerMode {
enum EEnum
{
kYes,
kNo,
kYesAll,
kNoAll,
kAutoRename,
kQuit
};
}
NUserAnswerMode::EEnum ScanUserYesNoAllQuit2(CStdOutStream *outStream);
UString GetPassword(CStdOutStream *outStream);
#endif
+1
View File
@@ -0,0 +1 @@
../../../../25.01/CPP/7zip/UI/makefile
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_clang.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_clang_arm64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_clang_x64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_clang_x86.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_gcc.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_gcc_arm.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_gcc_arm64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_gcc_x64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_gcc_x86.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_mac_arm64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/cmpl_mac_x64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/makefile
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_clang.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_clang_arm64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_clang_x64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_clang_x86.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_gcc.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_gcc_arm.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_gcc_arm64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_gcc_x64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_gcc_x86.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_mac_arm64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/var_mac_x64.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/warn_clang.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/warn_clang_mac.mak
+1
View File
@@ -0,0 +1 @@
../../../25.01/CPP/7zip/warn_gcc.mak
+1
View File
@@ -0,0 +1 @@
../../25.01/CPP/Build.mak
+1
View File
@@ -0,0 +1 @@
../../25.01/CPP/Common
+1
View File
@@ -0,0 +1 @@
../../25.01/CPP/Windows