mirror of
https://github.com/Open-Shell/Open-Shell-Menu.git
synced 2026-04-12 18:07:24 +10:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58b909037f | ||
|
|
146c27ecd2 | ||
|
|
4943938d0f | ||
|
|
d5c561720d | ||
|
|
58d804d22a | ||
|
|
a280fa92e1 | ||
|
|
f22f10c7d5 | ||
|
|
faf79de4d5 | ||
|
|
552fbd8296 | ||
|
|
055ac87039 | ||
|
|
d82fadb926 | ||
|
|
31acb6b092 | ||
|
|
077afd2377 | ||
|
|
680e6eedbb |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -20,12 +20,15 @@
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebug64/
|
||||
[Dd]ebugARM64/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]elease64/
|
||||
[Rr]eleaseARM64/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
ARM64/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
<?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|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64EC">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -9,6 +17,14 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64EC">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -17,6 +33,14 @@
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|ARM64">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|ARM64EC">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|Win32">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -53,6 +77,13 @@
|
||||
<PropertyGroup Condition="'$(Platform)'=='x64'">
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM64EC'">
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM64'">
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
<BuildAsX>true</BuildAsX>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<IgnoreImportLibrary>true</IgnoreImportLibrary>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -146,4 +146,4 @@
|
||||
<Filter>Resource Files</Filter>
|
||||
</Image>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
@@ -1,6 +1,10 @@
|
||||
<?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|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -9,6 +13,10 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -17,6 +25,10 @@
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|ARM64">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|Win32">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -53,6 +65,9 @@
|
||||
<PropertyGroup Condition="'$(Platform)'=='x64'">
|
||||
<TargetName>$(ProjectName)_64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM64'">
|
||||
<TargetName>$(ProjectName)_64</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
<?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|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64EC">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -9,6 +17,14 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64EC">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -17,6 +33,14 @@
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|ARM64">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|ARM64EC">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|Win32">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -53,6 +77,13 @@
|
||||
<PropertyGroup Condition="'$(Platform)'=='x64'">
|
||||
<TargetName>$(ProjectName)_64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM64EC'">
|
||||
<TargetName>$(ProjectName)_64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM64'">
|
||||
<TargetName>$(ProjectName)_64</TargetName>
|
||||
<BuildAsX>true</BuildAsX>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_USRDLL;CLASSICIEDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
|
||||
@@ -98,4 +98,4 @@
|
||||
<Filter>Resource Files</Filter>
|
||||
</Image>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
@@ -16,6 +16,14 @@
|
||||
<OutDir>$(MSBuildThisFileDirectory)..\build\bin\$(Configuration)64\</OutDir>
|
||||
<IntDir>$(MSBuildThisFileDirectory)..\build\obj\$(ProjectName)\$(Configuration)64\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM64'">
|
||||
<OutDir>$(MSBuildThisFileDirectory)..\build\bin\$(Configuration)ARM64\</OutDir>
|
||||
<IntDir>$(MSBuildThisFileDirectory)..\build\obj\$(ProjectName)\$(Configuration)ARM64\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM64EC'">
|
||||
<OutDir>$(MSBuildThisFileDirectory)..\build\bin\$(Configuration)ARM64EC\</OutDir>
|
||||
<IntDir>$(MSBuildThisFileDirectory)..\build\obj\$(ProjectName)\$(Configuration)ARM64EC\</IntDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Common settings for all configurations -->
|
||||
<ItemDefinitionGroup>
|
||||
|
||||
@@ -70,12 +70,17 @@ IatHookData *SetIatHook( IMAGE_DOS_HEADER *dosHeader, DWORD iatOffset, DWORD int
|
||||
{
|
||||
IatHookData *hook=g_IatHooks+g_IatHookCount;
|
||||
g_IatHookCount++;
|
||||
#if defined(_M_AMD64) || defined(_M_IX86)
|
||||
hook->jump[0]=hook->jump[1]=0x90; // NOP
|
||||
hook->jump[2]=0xFF; hook->jump[3]=0x25; // JUMP
|
||||
#ifdef _WIN64
|
||||
#if defined(_M_AMD64)
|
||||
hook->jumpOffs=0;
|
||||
#else
|
||||
hook->jumpOffs=(DWORD)(hook)+8;
|
||||
#endif
|
||||
#elif defined(_M_ARM64)
|
||||
hook->jump[0]=0x48; hook->jump[1]=0x00; hook->jump[2]=0x00; hook->jump[3]=0x58; // LDR X8, newProc
|
||||
hook->jump[4]=0x00; hook->jump[5]=0x01; hook->jump[6]=0x1F; hook->jump[7]=0xD6; // BR X8
|
||||
#endif
|
||||
hook->newProc=newProc;
|
||||
hook->oldProc=(void*)thunk->u1.Function;
|
||||
|
||||
@@ -6,8 +6,12 @@
|
||||
|
||||
struct IatHookData
|
||||
{
|
||||
#if defined(_M_AMD64) || defined(_M_IX86)
|
||||
unsigned char jump[4]; // jump instruction 0x90, 0x90, 0xFF, 0x25
|
||||
DWORD jumpOffs; // jump instruction offset
|
||||
#elif defined(_M_ARM64)
|
||||
unsigned char jump[8]; // LDR <address>, BR
|
||||
#endif
|
||||
void *newProc; // the address of the new proc
|
||||
void *oldProc; // the address of the old proc
|
||||
IMAGE_THUNK_DATA *thunk; // the IAT thunk
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
<?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|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64EC">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -9,6 +17,14 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64EC">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -42,6 +58,9 @@
|
||||
<PropertyGroup>
|
||||
<OutDir>$(IntDir)</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM64'">
|
||||
<BuildAsX>true</BuildAsX>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
|
||||
@@ -24,23 +24,15 @@ body {
|
||||
<a target="_blank" href="https://github.com/Open-Shell/Open-Shell-Menu"><img src="images/OpenShell.png" style="border: 0px solid ; width: 64px; height: 64px; float:left;" alt="Open-Shell website" title="Open-Shell website"></a><h1 style="padding-top: 12px; padding-bottom: 12px;"> Links</h1>
|
||||
<span style="font-style: italic; color: #2b88d8; font-weight: bold;"></span><br>The latest version can be found on the Open-Shell website:<br>
|
||||
<a target="_blank" href="https://github.com/Open-Shell/Open-Shell-Menu/releases/latest">https://github.com/Open-Shell/Open-Shell-Menu/releases/latest/</a><br>
|
||||
<br>
|
||||
View the project history here:<br>
|
||||
<span style="font-weight: bold;">History: </span><a target="_blank" href="https://coddec.github.io/Classic-Shell/www.classicshell.net/history/">https://coddec.github.io/Classic-Shell/www.classicshell.net/history/</a><br>
|
||||
<br>
|
||||
|
||||
<br>
|
||||
<h2>Get Help</h1>
|
||||
For answers to frequently asked questions look here:<br>
|
||||
<span style="font-weight: bold;">FAQ: </span><a target="_blank" href="https://coddec.github.io/Classic-Shell/www.classicshell.net/faq/" target="_blank">https://coddec.github.io/Classic-Shell/www.classicshell.net/faq/</a><br>
|
||||
Discussion forums:<br>
|
||||
<a target="_blank" href="https://github.com/Open-Shell/Open-Shell-Menu/discussions" target="_blank">https://github.com/Open-Shell/Open-Shell-Menu/discussions</a><br>
|
||||
|
||||
<br>
|
||||
If you don't find your answer in the FAQ, try the discussion forums:<br>
|
||||
<span style="font-weight: bold;">Discussion Forums: </span><a target="_blank" href="https://github.com/Open-Shell/Open-Shell-Menu/discussions" target="_blank">https://github.com/Open-Shell/Open-Shell-Menu/discussions</a><br>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<h2>Report a Problem</h1>
|
||||
Report bugs and feature requests in the development forums:<br>
|
||||
<span style="font-weight: bold;">Development Forums: </span><a target="_blank" href="https://github.com/Open-Shell/Open-Shell-Menu/issues" target="_blank">https://github.com/Open-Shell/Open-Shell-Menu/issues</a><br>
|
||||
<a target="_blank" href="https://github.com/Open-Shell/Open-Shell-Menu/issues" target="_blank">https://github.com/Open-Shell/Open-Shell-Menu/issues</a><br>
|
||||
|
||||
</body></html>
|
||||
|
||||
@@ -9,10 +9,7 @@
|
||||
The latest version can be found on the Open-Shell website:\par
|
||||
{{\field{\*\fldinst{HYPERLINK https://github.com/Open-Shell/Open-Shell-Menu }}{\fldrslt{https://github.com/Open-Shell/Open-Shell-Menu\ul0\cf0}}}}\f1\fs22\par
|
||||
\par
|
||||
For answers to frequently asked questions look here:\par
|
||||
{{\field{\*\fldinst{HYPERLINK https://coddec.github.io/Classic-Shell/www.classicshell.net/faq/ }}{\fldrslt{https://coddec.github.io/Classic-Shell/www.classicshell.net/faq/\ul0\cf0}}}}\f1\fs22\par
|
||||
\par
|
||||
Or use the discussion forums to get help:\par
|
||||
Use the discussion forums to get help:\par
|
||||
{{\field{\*\fldinst{HYPERLINK https://github.com/Open-Shell/Open-Shell-Menu/discussions }}{\fldrslt{https://github.com/Open-Shell/Open-Shell-Menu/discussions\ul0\cf0}}}}\f1\fs22\par
|
||||
\par
|
||||
Report problems in the Open-Shell development forums:\par
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="en-US" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="Error32bit" Overridable="yes">This installer is only for 32-bit version of Windows. For 64-bit Windows you need to run Setup64.</String>
|
||||
<String Id="Error64bit" Overridable="yes">This installer is only for 64-bit version of Windows. For ARM64 Windows you need to run SetupARM64.</String>
|
||||
<String Id="ErrorWin7" Overridable="yes">Open-Shell requires Windows 7 or above.</String>
|
||||
<String Id="ErrorNewVersion" Overridable="yes">A newer version of [ProductName] is already installed. The setup will now exit.</String>
|
||||
<String Id="ExplorerTitle" Overridable="yes">Classic Explorer</String>
|
||||
|
||||
@@ -72,337 +72,498 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Immersive7", "Skins\Immersi
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|ARM64 = Release|ARM64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
Setup|ARM64 = Setup|ARM64
|
||||
Setup|Win32 = Setup|Win32
|
||||
Setup|x64 = Setup|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|x64.Build.0 = Debug|x64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|Win32.Build.0 = Release|Win32
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|x64.ActiveCfg = Release|x64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|x64.Build.0 = Release|x64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Setup|ARM64.ActiveCfg = Setup|ARM64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Setup|ARM64.Build.0 = Setup|ARM64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Setup|Win32.ActiveCfg = Setup|Win32
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Setup|Win32.Build.0 = Setup|Win32
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Setup|x64.ActiveCfg = Setup|x64
|
||||
{87D5FE20-AF86-458A-9AA3-3131EB06179B}.Setup|x64.Build.0 = Setup|x64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|x64.Build.0 = Debug|x64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|Win32.Build.0 = Release|Win32
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|x64.ActiveCfg = Release|x64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|x64.Build.0 = Release|x64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Setup|ARM64.ActiveCfg = Setup|ARM64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Setup|ARM64.Build.0 = Setup|ARM64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Setup|Win32.ActiveCfg = Setup|Win32
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Setup|Win32.Build.0 = Setup|Win32
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Setup|x64.ActiveCfg = Setup|x64
|
||||
{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Setup|x64.Build.0 = Setup|x64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Debug|x64.Build.0 = Debug|x64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Release|Win32.Build.0 = Release|Win32
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Release|x64.ActiveCfg = Release|x64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Release|x64.Build.0 = Release|x64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Setup|ARM64.ActiveCfg = Setup|ARM64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Setup|ARM64.Build.0 = Setup|ARM64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Setup|Win32.ActiveCfg = Setup|Win32
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Setup|Win32.Build.0 = Setup|Win32
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Setup|x64.ActiveCfg = Setup|x64
|
||||
{9AF324B7-F786-4D85-B2E1-6E51720F874E}.Setup|x64.Build.0 = Setup|x64
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|ARM64.ActiveCfg = Debug|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|ARM64.Build.0 = Debug|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|x64.Build.0 = Debug|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|ARM64.ActiveCfg = Release|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|ARM64.Build.0 = Release|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|Win32.Build.0 = Release|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|x64.ActiveCfg = Release|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|x64.Build.0 = Release|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Setup|ARM64.ActiveCfg = Release|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Setup|Win32.ActiveCfg = Release|Win32
|
||||
{A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Setup|x64.ActiveCfg = Release|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Debug|x64.Build.0 = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Release|Win32.Build.0 = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Release|x64.Build.0 = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Debug|x64.Build.0 = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Release|Win32.Build.0 = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Release|x64.Build.0 = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Debug|x64.Build.0 = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Release|Win32.Build.0 = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Release|x64.Build.0 = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Debug|x64.Build.0 = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Release|Win32.Build.0 = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Release|x64.Build.0 = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{066C9721-26D5-4C4D-868E-50C2BA0A8196}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Debug|x64.Build.0 = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Release|Win32.Build.0 = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Release|x64.Build.0 = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Debug|x64.Build.0 = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Release|Win32.Build.0 = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Release|x64.Build.0 = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Debug|ARM64.ActiveCfg = Debug|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Release|ARM64.ActiveCfg = Release|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Release|Win32.Build.0 = Release|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Release|x64.ActiveCfg = Release|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Setup|ARM64.ActiveCfg = Release|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Setup|Win32.ActiveCfg = Release|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Setup|Win32.Build.0 = Release|Win32
|
||||
{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Setup|x64.ActiveCfg = Release|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Debug|ARM64.ActiveCfg = Debug|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Release|ARM64.ActiveCfg = Release|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Release|Win32.Build.0 = Release|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Release|x64.ActiveCfg = Release|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Setup|ARM64.ActiveCfg = Setup|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Setup|Win32.ActiveCfg = Setup|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Setup|Win32.Build.0 = Setup|Win32
|
||||
{E93271C8-0252-4A08-8227-1978C64C2D34}.Setup|x64.ActiveCfg = Setup|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Release|Win32.Build.0 = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{0A60FD06-3A81-4651-A869-9850DBC115EA}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Debug|x64.Build.0 = Debug|x64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Release|Win32.Build.0 = Release|Win32
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Release|x64.ActiveCfg = Release|x64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Release|x64.Build.0 = Release|x64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Setup|ARM64.ActiveCfg = Release|ARM64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Setup|ARM64.Build.0 = Release|ARM64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Setup|Win32.ActiveCfg = Release|Win32
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Setup|Win32.Build.0 = Release|Win32
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Setup|x64.ActiveCfg = Release|x64
|
||||
{D42FE717-485B-492D-884A-1999F6D51154}.Setup|x64.Build.0 = Release|x64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Debug|x64.Build.0 = Debug|x64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Release|Win32.Build.0 = Release|Win32
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Release|x64.ActiveCfg = Release|x64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Release|x64.Build.0 = Release|x64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Setup|ARM64.ActiveCfg = Setup|ARM64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Setup|ARM64.Build.0 = Setup|ARM64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Setup|Win32.ActiveCfg = Setup|Win32
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Setup|Win32.Build.0 = Setup|Win32
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Setup|x64.ActiveCfg = Setup|x64
|
||||
{65D5C193-E807-4094-AE19-19E6A310A312}.Setup|x64.Build.0 = Setup|x64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Debug|x64.Build.0 = Debug|x64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Release|Win32.Build.0 = Release|Win32
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Release|x64.ActiveCfg = Release|x64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Release|x64.Build.0 = Release|x64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Setup|ARM64.ActiveCfg = Setup|ARM64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Setup|ARM64.Build.0 = Setup|ARM64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Setup|Win32.ActiveCfg = Setup|Win32
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Setup|Win32.Build.0 = Setup|Win32
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Setup|x64.ActiveCfg = Setup|x64
|
||||
{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Setup|x64.Build.0 = Setup|x64
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Debug|ARM64.ActiveCfg = Debug|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Release|ARM64.ActiveCfg = Release|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Release|Win32.Build.0 = Release|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Release|x64.ActiveCfg = Release|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Setup|ARM64.ActiveCfg = Release|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Setup|Win32.ActiveCfg = Release|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Setup|Win32.Build.0 = Release|Win32
|
||||
{171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Setup|x64.ActiveCfg = Release|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Debug|x64.Build.0 = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Release|Win32.Build.0 = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Release|x64.Build.0 = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Debug|x64.Build.0 = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Release|Win32.Build.0 = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Release|x64.Build.0 = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Debug|x64.Build.0 = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Release|Win32.Build.0 = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Release|x64.Build.0 = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Debug|x64.Build.0 = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Release|Win32.Build.0 = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Release|x64.Build.0 = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|x64.Build.0 = Debug|x64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|Win32.Build.0 = Release|Win32
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|x64.ActiveCfg = Release|x64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|x64.Build.0 = Release|x64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|ARM64.ActiveCfg = Setup|ARM64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|ARM64.Build.0 = Setup|ARM64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|Win32.ActiveCfg = Setup|Win32
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|Win32.Build.0 = Setup|Win32
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|x64.ActiveCfg = Setup|x64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|x64.Build.0 = Setup|x64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|x64.Build.0 = Debug|x64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Release|Win32.Build.0 = Release|Win32
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Release|x64.ActiveCfg = Release|x64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Release|x64.Build.0 = Release|x64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Setup|ARM64.ActiveCfg = Release|ARM64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Setup|ARM64.Build.0 = Release|ARM64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Setup|Win32.ActiveCfg = Release|Win32
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Setup|Win32.Build.0 = Release|Win32
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Setup|x64.ActiveCfg = Release|x64
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Setup|x64.Build.0 = Release|x64
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Debug|x64.Build.0 = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Release|Win32.Build.0 = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Release|x64.Build.0 = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Debug|x64.Build.0 = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Release|Win32.Build.0 = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Release|x64.Build.0 = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Debug|x64.Build.0 = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Release|Win32.Build.0 = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Release|x64.Build.0 = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Debug|x64.Build.0 = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Release|Win32.Build.0 = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Release|x64.Build.0 = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Debug|ARM64.ActiveCfg = Debug|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Release|ARM64.ActiveCfg = Release|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Release|Win32.Build.0 = Release|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Release|x64.ActiveCfg = Release|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Setup|ARM64.ActiveCfg = Release|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Setup|Win32.ActiveCfg = Release|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Setup|Win32.Build.0 = Release|Win32
|
||||
{D94BD2A6-1872-4F01-B911-F406603AA2E1}.Setup|x64.ActiveCfg = Release|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Debug|x64.Build.0 = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Release|Win32.Build.0 = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Release|x64.Build.0 = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Setup|ARM64.Build.0 = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
{BD28B058-230E-42DF-9FB1-FFBB0153F498}.Setup|x64.Build.0 = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Debug|ARM64.ActiveCfg = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Debug|ARM64.Build.0 = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Debug|Win32.ActiveCfg = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Debug|Win32.Build.0 = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Debug|x64.ActiveCfg = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Debug|x64.Build.0 = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Release|ARM64.ActiveCfg = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Release|ARM64.Build.0 = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Release|Win32.ActiveCfg = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Release|Win32.Build.0 = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Release|x64.ActiveCfg = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Release|x64.Build.0 = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Setup|ARM64.ActiveCfg = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Setup|ARM64.Build.0 = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Setup|Win32.ActiveCfg = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Setup|Win32.Build.0 = Resource|Win32
|
||||
{75809D15-8403-420A-BBE6-05F478D88D8E}.Setup|x64.ActiveCfg = Resource|Win32
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
if exist Output rd /Q /S Output
|
||||
md Output
|
||||
md Output\x64
|
||||
md Output\ARM64
|
||||
|
||||
echo -- Compiling
|
||||
|
||||
@@ -9,13 +10,18 @@ for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio
|
||||
REM Restore NuGet packages
|
||||
"%MSBuildDir%MSBuild.exe" ..\OpenShell.sln /m /t:Restore -p:RestorePackagesConfig=true /verbosity:quiet /nologo
|
||||
|
||||
REM ********* Build 64-bit solution
|
||||
echo --- 64bit
|
||||
REM ********* Build x64 solution
|
||||
echo --- x64
|
||||
"%MSBuildDir%MSBuild.exe" ..\OpenShell.sln /m /t:Rebuild /p:Configuration="Setup" /p:Platform="x64" /verbosity:quiet /nologo
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
REM ********* Build ARM64 solution
|
||||
echo --- ARM64
|
||||
"%MSBuildDir%MSBuild.exe" ..\OpenShell.sln /m /t:Rebuild /p:Configuration="Setup" /p:Platform="ARM64" /verbosity:quiet /nologo
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
REM ********* Build 32-bit solution (must be after 64-bit)
|
||||
echo --- 32bit
|
||||
echo --- x86
|
||||
"%MSBuildDir%MSBuild.exe" ..\OpenShell.sln /m /t:Rebuild /p:Configuration="Setup" /p:Platform="Win32" /verbosity:quiet /nologo
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
@@ -45,6 +51,13 @@ copy /B ..\..\build\bin\Release\Update.exe Output > nul
|
||||
copy /B ..\..\build\bin\Release\DesktopToasts.dll Output > nul
|
||||
copy /B ..\..\build\bin\Release\SetupHelper.exe Output > nul
|
||||
|
||||
copy /B ..\..\build\bin\SetupARM64\ClassicExplorer64.dll Output\ARM64 > nul
|
||||
copy /B ..\..\build\bin\SetupARM64\ClassicIEDLL_64.dll Output\ARM64 > nul
|
||||
copy /B ..\..\build\bin\SetupARM64\ClassicIE_64.exe Output\ARM64 > nul
|
||||
copy /B ..\..\build\bin\SetupARM64\StartMenu.exe Output\ARM64 > nul
|
||||
copy /B ..\..\build\bin\SetupARM64\StartMenuDLL.dll Output\ARM64 > nul
|
||||
copy /B ..\..\build\bin\SetupARM64\StartMenuHelper64.dll Output\ARM64 > nul
|
||||
|
||||
copy /B ..\..\build\bin\Setup64\ClassicExplorer64.dll Output\x64 > nul
|
||||
copy /B ..\..\build\bin\Setup64\ClassicIEDLL_64.dll Output\x64 > nul
|
||||
copy /B ..\..\build\bin\Setup64\ClassicIE_64.exe Output\x64 > nul
|
||||
@@ -73,6 +86,7 @@ copy /B "..\..\build\bin\Skins\Immersive.skin7" Output > nul
|
||||
REM ********* Collect debug info
|
||||
md Output\PDB32
|
||||
md Output\PDB64
|
||||
md Output\PDBARM64
|
||||
|
||||
REM Explorer 32
|
||||
copy /B ..\..\build\bin\Setup\ClassicExplorer32.pdb Output\PDB32 > nul
|
||||
@@ -84,6 +98,10 @@ REM Explorer 64
|
||||
copy /B ..\..\build\bin\Setup64\ClassicExplorer64.pdb Output\PDB64 > nul
|
||||
copy /B Output\x64\ClassicExplorer64.dll Output\PDB64 > nul
|
||||
|
||||
REM Explorer ARM64
|
||||
copy /B ..\..\build\bin\SetupARM64\ClassicExplorer64.pdb Output\PDBARM64 > nul
|
||||
copy /B Output\ARM64\ClassicExplorer64.dll Output\PDBARM64 > nul
|
||||
|
||||
REM IE 32
|
||||
copy /B ..\..\build\bin\Setup\ClassicIEDLL_32.pdb Output\PDB32 > nul
|
||||
copy /B Output\ClassicIEDLL_32.dll Output\PDB32 > nul
|
||||
@@ -96,6 +114,12 @@ copy /B Output\x64\ClassicIEDLL_64.dll Output\PDB64 > nul
|
||||
copy /B ..\..\build\bin\Setup64\ClassicIE_64.pdb Output\PDB64 > nul
|
||||
copy /B Output\x64\ClassicIE_64.exe Output\PDB64 > nul
|
||||
|
||||
REM IE ARM64
|
||||
copy /B ..\..\build\bin\SetupARM64\ClassicIEDLL_64.pdb Output\PDBARM64 > nul
|
||||
copy /B Output\ARM64\ClassicIEDLL_64.dll Output\PDBARM64 > nul
|
||||
copy /B ..\..\build\bin\SetupARM64\ClassicIE_64.pdb Output\PDBARM64 > nul
|
||||
copy /B Output\ARM64\ClassicIE_64.exe Output\PDBARM64 > nul
|
||||
|
||||
REM Menu 32
|
||||
copy /B ..\..\build\bin\Setup\StartMenu.pdb Output\PDB32 > nul
|
||||
copy /B Output\StartMenu.exe Output\PDB32 > nul
|
||||
@@ -116,6 +140,13 @@ copy /B Output\x64\StartMenuDLL.dll Output\PDB64 > nul
|
||||
copy /B ..\..\build\bin\Setup64\StartMenuHelper64.pdb Output\PDB64 > nul
|
||||
copy /B Output\x64\StartMenuHelper64.dll Output\PDB64 > nul
|
||||
|
||||
REM Menu ARM64
|
||||
copy /B ..\..\build\bin\SetupARM64\StartMenu.pdb Output\PDBARM64 > nul
|
||||
copy /B Output\ARM64\StartMenu.exe Output\PDBARM64 > nul
|
||||
copy /B ..\..\build\bin\SetupARM64\StartMenuDLL.pdb Output\PDBARM64 > nul
|
||||
copy /B Output\ARM64\StartMenuDLL.dll Output\PDBARM64 > nul
|
||||
copy /B ..\..\build\bin\SetupARM64\StartMenuHelper64.pdb Output\PDBARM64 > nul
|
||||
copy /B Output\ARM64\StartMenuHelper64.dll Output\PDBARM64 > nul
|
||||
|
||||
REM ********* Source Index PDBs
|
||||
|
||||
@@ -140,6 +171,14 @@ if exist %PDBSTR_PATH% (
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
for %%f in (Output\PDBARM64\*.pdb) do (
|
||||
%PDBSTR_PATH% -w -p:%%f -s:srcsrv -i:Output\pdbstr.txt
|
||||
if not ERRORLEVEL 0 (
|
||||
echo Error adding source index to PDB
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
REM ********* Prepare symbols
|
||||
@@ -148,11 +187,13 @@ set SYMSTORE_PATH="C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\symstore
|
||||
|
||||
%SYMSTORE_PATH% add /r /f Output\PDB32 /s Output\symbols /t OpenShell -:NOREFS > nul
|
||||
%SYMSTORE_PATH% add /r /f Output\PDB64 /s Output\symbols /t OpenShell -:NOREFS > nul
|
||||
%SYMSTORE_PATH% add /r /f Output\PDBARM64 /s Output\symbols /t OpenShell -:NOREFS > nul
|
||||
rd /Q /S Output\symbols\000Admin > nul
|
||||
del Output\symbols\pingme.txt > nul
|
||||
|
||||
rd /Q /S Output\PDB32
|
||||
rd /Q /S Output\PDB64
|
||||
rd /Q /S Output\PDBARM64
|
||||
|
||||
REM ********* Build ADMX
|
||||
echo --- ADMX
|
||||
|
||||
@@ -36,9 +36,9 @@ md Temp
|
||||
@set /a "CS_VERSION_NUM=%%A<<24|%%B<<16|%%C"
|
||||
)
|
||||
|
||||
REM ********* Build 32-bit MSI
|
||||
echo --- 32bit MSI
|
||||
candle Setup.wxs -nologo -out Temp\Setup32.wixobj -ext WixUIExtension -ext WixUtilExtension -dx64=0 -dCS_LANG_FOLDER=%CS_LANG_FOLDER% -dCS_LANG_NAME=%CS_LANG_NAME%
|
||||
REM ********* Build x86 MSI
|
||||
echo --- x86 MSI
|
||||
candle Setup.wxs -nologo -out Temp\Setup32.wixobj -ext WixUIExtension -ext WixUtilExtension -dx64=0 -dARM64=0 -dCS_LANG_FOLDER=%CS_LANG_FOLDER% -dCS_LANG_NAME=%CS_LANG_NAME%
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
@REM We need to suppress ICE38 and ICE43 because they apply only to per-user installation. We only support per-machine installs
|
||||
@@ -46,10 +46,9 @@ candle Setup.wxs -nologo -out Temp\Setup32.wixobj -ext WixUIExtension -ext WixUt
|
||||
light Temp\Setup32.wixobj -nologo -out Temp\Setup32.msi -ext WixUIExtension -ext WixUtilExtension -loc ..\Localization\%CS_LANG_FOLDER%\OpenShellText-%CS_LANG_NAME%.wxl -loc ..\Localization\%CS_LANG_FOLDER%\WixUI_%CS_LANG_NAME%.wxl -sice:ICE38 -sice:ICE43 -sice:ICE09
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
|
||||
REM ********* Build 64-bit MSI
|
||||
echo --- 64bit MSI
|
||||
candle Setup.wxs -nologo -out Temp\Setup64.wixobj -ext WixUIExtension -ext WixUtilExtension -dx64=1 -dCS_LANG_FOLDER=%CS_LANG_FOLDER% -dCS_LANG_NAME=%CS_LANG_NAME%
|
||||
REM ********* Build x64 MSI
|
||||
echo --- x64 MSI
|
||||
candle Setup.wxs -nologo -out Temp\Setup64.wixobj -ext WixUIExtension -ext WixUtilExtension -dx64=1 -dARM64=0 -dCS_LANG_FOLDER=%CS_LANG_FOLDER% -dCS_LANG_NAME=%CS_LANG_NAME%
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
@REM We need to suppress ICE38 and ICE43 because they apply only to per-user installation. We only support per-machine installs
|
||||
@@ -57,6 +56,15 @@ candle Setup.wxs -nologo -out Temp\Setup64.wixobj -ext WixUIExtension -ext WixUt
|
||||
light Temp\Setup64.wixobj -nologo -out Temp\Setup64.msi -ext WixUIExtension -ext WixUtilExtension -loc ..\Localization\%CS_LANG_FOLDER%\OpenShellText-%CS_LANG_NAME%.wxl -loc ..\Localization\%CS_LANG_FOLDER%\WixUI_%CS_LANG_NAME%.wxl -sice:ICE38 -sice:ICE43 -sice:ICE09
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
REM ********* Build ARM64 MSI
|
||||
echo --- ARM64 MSI
|
||||
candle Setup.wxs -nologo -out Temp\SetupARM64.wixobj -ext WixUIExtension -ext WixUtilExtension -dx64=0 -dARM64=1 -dCS_LANG_FOLDER=%CS_LANG_FOLDER% -dCS_LANG_NAME=%CS_LANG_NAME%
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
@REM We need to suppress ICE38 and ICE43 because they apply only to per-user installation. We only support per-machine installs
|
||||
@REM We need to suppress ICE09 because the helper DLLs need to go into the system directory (for safety reasons)
|
||||
light Temp\SetupARM64.wixobj -nologo -out Temp\SetupARM64.msi -ext WixUIExtension -ext WixUtilExtension -loc ..\Localization\%CS_LANG_FOLDER%\OpenShellText-%CS_LANG_NAME%.wxl -loc ..\Localization\%CS_LANG_FOLDER%\WixUI_%CS_LANG_NAME%.wxl -sice:ICE38 -sice:ICE43 -sice:ICE09
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
REM ********* Build MSI Checksums
|
||||
echo --- MSI Checksums
|
||||
|
||||
@@ -12,10 +12,13 @@
|
||||
#include "StringUtils.h"
|
||||
#include "FNVHash.h"
|
||||
|
||||
// Setup.exe is a bootstrap application that contains installers for 32-bit and 64-bit.
|
||||
// Setup.exe is a bootstrap application that contains installers for x86, x64 and ARM64.
|
||||
// It unpacks the right installer into the temp directory and executes it.
|
||||
|
||||
typedef BOOL (WINAPI *FIsWow64Process)( HANDLE hProcess, PBOOL Wow64Process );
|
||||
typedef BOOL (WINAPI *FIsWow64Process2)( HANDLE hProcess, USHORT *pProcessMachine, USHORT *pNativeMachine );
|
||||
typedef BOOL (WINAPI *FWow64DisableWow64FsRedirection)( PVOID* OldValue );
|
||||
typedef BOOL (WINAPI *FWow64RevertWow64FsRedirection)( PVOID OldValue );
|
||||
|
||||
|
||||
|
||||
@@ -31,6 +34,14 @@ enum
|
||||
ERR_MSIEXEC, // msiexec failed to start
|
||||
};
|
||||
|
||||
enum ExtractType
|
||||
{
|
||||
None,
|
||||
x86,
|
||||
x64,
|
||||
ARM64
|
||||
};
|
||||
|
||||
struct Chunk
|
||||
{
|
||||
int start1, start2, len;
|
||||
@@ -49,7 +60,7 @@ static void WriteFileXOR( HANDLE hFile, const unsigned char *buf, int size )
|
||||
}
|
||||
}
|
||||
|
||||
static int ExtractMsi( HINSTANCE hInstance, const wchar_t *msiName, bool b64, bool bQuiet )
|
||||
static int ExtractMsi( HINSTANCE hInstance, const wchar_t *msiName, ExtractType extractType, bool bQuiet )
|
||||
{
|
||||
void *pRes=NULL;
|
||||
HRSRC hResInfo=FindResource(hInstance,MAKEINTRESOURCE(IDR_MSI_CHECKSUM),L"MSI_FILE");
|
||||
@@ -70,13 +81,21 @@ static int ExtractMsi( HINSTANCE hInstance, const wchar_t *msiName, bool b64, bo
|
||||
}
|
||||
return ERR_HASH_NOTFOUND;
|
||||
}
|
||||
unsigned int hash0=((unsigned int*)pRes)[b64?1:0];
|
||||
unsigned int hash0=((unsigned int*)pRes)[extractType-1];
|
||||
const Chunk *pChunks=NULL;
|
||||
int chunkCount=0;
|
||||
if (b64)
|
||||
if (extractType==x64)
|
||||
{
|
||||
chunkCount=((unsigned int*)pRes)[2];
|
||||
pChunks=(Chunk*)((unsigned int*)pRes+3);
|
||||
chunkCount=((unsigned int*)pRes)[3];
|
||||
pChunks=(Chunk*)((unsigned int*)pRes+4);
|
||||
}
|
||||
if (extractType==ARM64)
|
||||
{
|
||||
int x64chunkCount=((unsigned int*)pRes)[3];
|
||||
const Chunk *px64Chunks=(Chunk*)((unsigned int*)pRes+4);
|
||||
|
||||
chunkCount=((unsigned int*)(px64Chunks+x64chunkCount))[0];
|
||||
pChunks = (Chunk*)((unsigned int*)(px64Chunks+x64chunkCount)+1);
|
||||
}
|
||||
|
||||
// extract the installer
|
||||
@@ -99,11 +118,11 @@ static int ExtractMsi( HINSTANCE hInstance, const wchar_t *msiName, bool b64, bo
|
||||
}
|
||||
return ERR_MSIRES_NOTFOUND;
|
||||
}
|
||||
const unsigned char *pRes64=NULL;
|
||||
const unsigned char *pRes64=NULL, *pResArm64=NULL;
|
||||
int size32=SizeofResource(hInstance,hResInfo);
|
||||
unsigned int hash;
|
||||
int size64=0;
|
||||
if (b64)
|
||||
int size64=0, sizeArm64=0;
|
||||
if (extractType==x64)
|
||||
{
|
||||
HRSRC hResInfo=FindResource(hInstance,MAKEINTRESOURCE(IDR_MSI_FILE64),L"MSI_FILE");
|
||||
if (hResInfo)
|
||||
@@ -140,6 +159,43 @@ static int ExtractMsi( HINSTANCE hInstance, const wchar_t *msiName, bool b64, bo
|
||||
if (pos<size64)
|
||||
hash=CalcFNVHash(pRes64+pos,size64-pos,hash);
|
||||
}
|
||||
else if (extractType==ARM64)
|
||||
{
|
||||
HRSRC hResInfo=FindResource(hInstance,MAKEINTRESOURCE(IDR_MSI_FILEARM64),L"MSI_FILE");
|
||||
if (hResInfo)
|
||||
{
|
||||
HGLOBAL hRes=LoadResource(hInstance,hResInfo);
|
||||
pResArm64=(unsigned char*)LockResource(hRes);
|
||||
}
|
||||
if (!pResArm64)
|
||||
{
|
||||
if (!bQuiet)
|
||||
{
|
||||
wchar_t strTitle[256];
|
||||
if (!LoadString(hInstance,IDS_APP_TITLE,strTitle,_countof(strTitle))) strTitle[0]=0;
|
||||
wchar_t strText[256];
|
||||
if (!LoadString(hInstance,IDS_ERR_INTERNAL,strText,_countof(strText))) strText[0]=0;
|
||||
MessageBox(NULL,strText,strTitle,MB_OK|MB_ICONERROR);
|
||||
}
|
||||
return ERR_MSIRES_NOTFOUND;
|
||||
}
|
||||
|
||||
sizeArm64=SizeofResource(hInstance,hResInfo);
|
||||
hash=FNV_HASH0;
|
||||
int start=0;
|
||||
int pos=0;
|
||||
for (int i=0;i<chunkCount;i++)
|
||||
{
|
||||
const Chunk& chunk = pChunks[i];
|
||||
if (start<chunk.start2)
|
||||
hash=CalcFNVHash(pResArm64+pos,chunk.start2-start,hash);
|
||||
hash=CalcFNVHash(pRes32+chunk.start1,chunk.len,hash);
|
||||
pos+=chunk.start2-start;
|
||||
start=chunk.start2+chunk.len;
|
||||
}
|
||||
if (pos<sizeArm64)
|
||||
hash=CalcFNVHash(pResArm64+pos,sizeArm64-pos,hash);
|
||||
}
|
||||
else
|
||||
hash=CalcFNVHash(pRes32,size32);
|
||||
if (hash!=hash0)
|
||||
@@ -173,7 +229,7 @@ static int ExtractMsi( HINSTANCE hInstance, const wchar_t *msiName, bool b64, bo
|
||||
}
|
||||
return ERR_MSI_EXTRACTFAIL;
|
||||
}
|
||||
if (b64)
|
||||
if (extractType==x64)
|
||||
{
|
||||
int start=0;
|
||||
int pos=0;
|
||||
@@ -189,6 +245,22 @@ static int ExtractMsi( HINSTANCE hInstance, const wchar_t *msiName, bool b64, bo
|
||||
if (pos<size64)
|
||||
WriteFileXOR(hFile,pRes64+pos,size64-pos);
|
||||
}
|
||||
else if (extractType==ARM64)
|
||||
{
|
||||
int start=0;
|
||||
int pos=0;
|
||||
for (int i=0;i<chunkCount;i++)
|
||||
{
|
||||
const Chunk &chunk=pChunks[i];
|
||||
if (start<chunk.start2)
|
||||
WriteFileXOR(hFile,pResArm64+pos,chunk.start2-start);
|
||||
WriteFileXOR(hFile,pRes32+chunk.start1,chunk.len);
|
||||
pos+=chunk.start2-start;
|
||||
start=chunk.start2+chunk.len;
|
||||
}
|
||||
if (pos<sizeArm64)
|
||||
WriteFileXOR(hFile,pResArm64+pos,sizeArm64-pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteFileXOR(hFile,pRes32,size32);
|
||||
@@ -218,7 +290,7 @@ int APIENTRY wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCm
|
||||
wchar_t *const *params=CommandLineToArgvW(lpCmdLine,&count);
|
||||
if (!params) count=0;
|
||||
|
||||
int extract=0;
|
||||
ExtractType extractType=None;
|
||||
bool bQuiet=false;
|
||||
for (;count>0;count--,params++)
|
||||
{
|
||||
@@ -233,9 +305,11 @@ int APIENTRY wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCm
|
||||
return 0;
|
||||
}
|
||||
if (_wcsicmp(params[0],L"extract32")==0)
|
||||
extract=32;
|
||||
extractType=x86;
|
||||
if (_wcsicmp(params[0],L"extract64")==0)
|
||||
extract=64;
|
||||
extractType=x64;
|
||||
if (_wcsicmp(params[0],L"extractARM64")==0)
|
||||
extractType=ARM64;
|
||||
if (_wcsicmp(params[0],L"/qn")==0 || _wcsicmp(params[0],L"/q")==0 || _wcsicmp(params[0],L"/quiet")==0 || _wcsicmp(params[0],L"/passive")==0)
|
||||
{
|
||||
bQuiet=true;
|
||||
@@ -255,11 +329,11 @@ int APIENTRY wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCm
|
||||
return ERR_VERRES_NOTFOUND;
|
||||
}
|
||||
|
||||
if (extract)
|
||||
if (extractType != None)
|
||||
{
|
||||
wchar_t msiName[_MAX_PATH];
|
||||
Sprintf(msiName,_countof(msiName),L"OpenShellSetup%d_%d_%d_%d.msi",extract,HIWORD(pVer->dwProductVersionMS),LOWORD(pVer->dwProductVersionMS),HIWORD(pVer->dwProductVersionLS));
|
||||
return ExtractMsi(hInstance,msiName,extract==64,bQuiet);
|
||||
Sprintf(msiName,_countof(msiName),L"OpenShellSetup%s_%d_%d_%d.msi",(extractType==x86?L"32":(extractType==x64?L"64":L"ARM64")),HIWORD(pVer->dwProductVersionMS),LOWORD(pVer->dwProductVersionMS),HIWORD(pVer->dwProductVersionLS));
|
||||
return ExtractMsi(hInstance,msiName,extractType,bQuiet);
|
||||
}
|
||||
|
||||
// check Windows version
|
||||
@@ -282,7 +356,9 @@ int APIENTRY wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCm
|
||||
// dynamically link to IsWow64Process because it is not available for Windows 2000
|
||||
HMODULE hKernel32=GetModuleHandle(L"kernel32.dll");
|
||||
FIsWow64Process isWow64Process=(FIsWow64Process)GetProcAddress(hKernel32,"IsWow64Process");
|
||||
if (!isWow64Process)
|
||||
FWow64DisableWow64FsRedirection wow64DisableWow64FsRedirection=(FWow64DisableWow64FsRedirection)GetProcAddress(hKernel32,"Wow64DisableWow64FsRedirection");
|
||||
FWow64RevertWow64FsRedirection wow64RevertWow64FsRedirection=(FWow64RevertWow64FsRedirection)GetProcAddress(hKernel32,"Wow64RevertWow64FsRedirection");
|
||||
if (!isWow64Process || !wow64DisableWow64FsRedirection || !wow64RevertWow64FsRedirection)
|
||||
{
|
||||
if (!bQuiet)
|
||||
{
|
||||
@@ -295,13 +371,25 @@ int APIENTRY wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCm
|
||||
return ERR_WRONG_OS;
|
||||
}
|
||||
|
||||
BOOL b64=FALSE;
|
||||
isWow64Process(GetCurrentProcess(),&b64);
|
||||
// Use IsWow64Process2 if it's available (Windows 10 1511+), otherwise fall back to IsWow64Process
|
||||
FIsWow64Process2 isWow64Process2=(FIsWow64Process2)GetProcAddress(hKernel32,"IsWow64Process2");
|
||||
if (isWow64Process2)
|
||||
{
|
||||
USHORT processMachine = 0, nativeMachine = 0;
|
||||
isWow64Process2(GetCurrentProcess(), &processMachine, &nativeMachine);
|
||||
extractType=nativeMachine==IMAGE_FILE_MACHINE_AMD64?x64:nativeMachine==IMAGE_FILE_MACHINE_ARM64?ARM64:x86;
|
||||
}
|
||||
else
|
||||
{
|
||||
BOOL x64=FALSE;
|
||||
isWow64Process(GetCurrentProcess(),&x64);
|
||||
extractType=x64?ExtractType::x64:x86;
|
||||
}
|
||||
|
||||
wchar_t msiName[_MAX_PATH];
|
||||
Sprintf(msiName,_countof(msiName),L"%%ALLUSERSPROFILE%%\\OpenShellSetup%d_%d_%d_%d.msi",b64?64:32,HIWORD(pVer->dwProductVersionMS),LOWORD(pVer->dwProductVersionMS),HIWORD(pVer->dwProductVersionLS));
|
||||
Sprintf(msiName,_countof(msiName),L"%%ALLUSERSPROFILE%%\\OpenShellSetup%s_%d_%d_%d.msi",(extractType==x86?L"32":(extractType==x64?L"64":L"ARM64")),HIWORD(pVer->dwProductVersionMS),LOWORD(pVer->dwProductVersionMS),HIWORD(pVer->dwProductVersionLS));
|
||||
DoEnvironmentSubst(msiName,_countof(msiName));
|
||||
int ex=ExtractMsi(hInstance,msiName,b64!=FALSE,bQuiet);
|
||||
int ex=ExtractMsi(hInstance,msiName,extractType,bQuiet);
|
||||
if (ex) return ex;
|
||||
|
||||
wchar_t cmdLine[2048];
|
||||
@@ -316,11 +404,19 @@ int APIENTRY wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCm
|
||||
Sprintf(cmdLine,_countof(cmdLine),L"msiexec.exe /i \"%s\" %s",msiName,lpCmdLine);
|
||||
}
|
||||
|
||||
// On ARM64 we must launch msiexec.exe from system32 and not syswow64 as would otherwise happen
|
||||
PVOID wow64FsRedirVal=NULL;
|
||||
if (extractType == ARM64)
|
||||
Wow64DisableWow64FsRedirection(&wow64FsRedirVal);
|
||||
|
||||
// start the installer
|
||||
STARTUPINFO startupInfo={sizeof(startupInfo)};
|
||||
PROCESS_INFORMATION processInfo;
|
||||
memset(&processInfo,0,sizeof(processInfo));
|
||||
if (!CreateProcess(NULL,cmdLine,NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo))
|
||||
BOOL ret=CreateProcess(NULL,cmdLine,NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo);
|
||||
if (extractType == ARM64)
|
||||
Wow64RevertWow64FsRedirection(wow64FsRedirVal);
|
||||
if (!ret)
|
||||
{
|
||||
DeleteFile(msiName);
|
||||
if (!bQuiet)
|
||||
|
||||
@@ -102,6 +102,7 @@ END
|
||||
|
||||
IDR_MSI_FILE32 MSI_FILE "Temp\\Setup32.msi_"
|
||||
IDR_MSI_FILE64 MSI_FILE "Temp\\Setup64.msi_"
|
||||
IDR_MSI_FILEARM64 MSI_FILE "Temp\\SetupARM64.msi_"
|
||||
IDR_MSI_CHECKSUM MSI_FILE "msichecksum.bin"
|
||||
|
||||
|
||||
@@ -126,7 +127,7 @@ END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_HELP "Open-Shell Setup will install Open-Shell on your computer. Possible command lines:\n <no command line> - runs the installer normally\n extract32 - extracts the 32-bit MSI\n extract64 - extracts the 64-bit MSI\n help, /? - shows the command line help\n <some msiexec options> - the options are passed to msiexec\n * if the options contain %MSI% (all caps) the token is replaced by the name of the extracted MSI file\n * if %MSI% is not found, the setup runs ""msiexec /i <MSI file> <some msiexec options>""\n * run msiexec with no parameters to see the full list of msiexec options\n\nExamples:\n /qn - runs the installer in quiet mode\n /x %MSI% /qb - uninstalls the product in basic UI level\n /f %MSI% - repairs the product\n /l* log.txt - runs the installer and logs the process in the log.txt file\n /qn ADDLOCAL=ClassicExplorer - installs only Classic Explorer in quiet mode\n /qn ADDLOCAL=StartMenu APPLICATIONFOLDER=C:\\OpenShell - installs only Open-Shell Start Menu in quiet mode in the folder C:\\OpenShell\n ADDLOCAL=StartMenu,ClassicIE - runs the installer in full UI mode with Open-Shell Start Menu and Classic IE checked by default"
|
||||
IDS_HELP "Open-Shell Setup will install Open-Shell on your computer. Possible command lines:\n <no command line> - runs the installer normally\n extract32 - extracts the 32-bit MSI\n extract64 - extracts the 64-bit MSI\n extractARM64 - extracts the ARM64 MSI\n help, /? - shows the command line help\n <some msiexec options> - the options are passed to msiexec\n * if the options contain %MSI% (all caps) the token is replaced by the name of the extracted MSI file\n * if %MSI% is not found, the setup runs ""msiexec /i <MSI file> <some msiexec options>""\n * run msiexec with no parameters to see the full list of msiexec options\n\nExamples:\n /qn - runs the installer in quiet mode\n /x %MSI% /qb - uninstalls the product in basic UI level\n /f %MSI% - repairs the product\n /l* log.txt - runs the installer and logs the process in the log.txt file\n /qn ADDLOCAL=ClassicExplorer - installs only Classic Explorer in quiet mode\n /qn ADDLOCAL=StartMenu APPLICATIONFOLDER=C:\\OpenShell - installs only Open-Shell Start Menu in quiet mode in the folder C:\\OpenShell\n ADDLOCAL=StartMenu,ClassicIE - runs the installer in full UI mode with Open-Shell Start Menu and Classic IE checked by default"
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
<None Include="msichecksum.bin" />
|
||||
<None Include="Temp\Setup32.msi_" />
|
||||
<None Include="Temp\Setup64.msi_" />
|
||||
<None Include="Temp\SetupARM64.msi_" />
|
||||
<None Include="__MakeFinal.bat" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -61,5 +61,6 @@
|
||||
<None Include="Temp\Setup32.msi_" />
|
||||
<None Include="Temp\Setup64.msi_" />
|
||||
<None Include="msichecksum.bin" />
|
||||
<None Include="Temp\SetupARM64.msi_" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -3,7 +3,7 @@
|
||||
# This comment is generated by WixEdit, the specific commandline
|
||||
# arguments for the WiX Toolset are stored here.
|
||||
|
||||
candleArgs: "<projectfile>" -out "<projectname>.wixobj" -ext WixUIExtension -ext WixUtilExtension -dx64=0
|
||||
candleArgs: "<projectfile>" -out "<projectname>.wixobj" -ext WixUIExtension -ext WixUtilExtension -dx64=0 -dARM64=0
|
||||
lightArgs: "<projectname>.wixobj" -out "<projectname>.msi" -ext WixUIExtension -ext WixUtilExtension -loc OpenShellText-en-US.wxl
|
||||
-->
|
||||
<?if $(var.x64)=1 ?>
|
||||
@@ -11,6 +11,11 @@
|
||||
<?define CS_PLATFORM = "x64"?>
|
||||
<?define CS_PROGRAM_FILES = "ProgramFiles64Folder"?>
|
||||
<?define CS_WIN64 = "yes"?>
|
||||
<?elseif $(var.ARM64)=1 ?>
|
||||
<?define CS_UPGRADE = "BECF7DE9-53D0-41E7-92DC-0EF4ACCCD867"?>
|
||||
<?define CS_PLATFORM = "arm64"?>
|
||||
<?define CS_PROGRAM_FILES = "ProgramFiles64Folder"?>
|
||||
<?define CS_WIN64 = "yes"?>
|
||||
<?else ?>
|
||||
<?define CS_UPGRADE = "EB7DA1D9-44EA-43BF-8A08-0B103007D4F2"?>
|
||||
<?define CS_PLATFORM = "x86"?>
|
||||
@@ -22,9 +27,13 @@
|
||||
<Package Description="Open-Shell" Comments="Start Menu Replacement" InstallerVersion="500" Compressed="yes" Platform="$(var.CS_PLATFORM)" />
|
||||
<Media Id="1" Cabinet="cshell.cab" EmbedCab="yes" CompressionLevel="high" />
|
||||
<Media Id="2" Cabinet="simple.cab" EmbedCab="yes" CompressionLevel="high" />
|
||||
<?if $(var.x64)=0 ?>
|
||||
<PropertyRef Id="WIX_NATIVE_MACHINE" />
|
||||
<?if $(var.x64)=0 And $(var.ARM64)=0 ?>
|
||||
<Condition Message="!(loc.Error32bit)">not Msix64</Condition>
|
||||
<?endif ?>
|
||||
<?if $(var.x64)=1 ?>
|
||||
<Condition Message="!(loc.Error64bit)">NOT (WIX_NATIVE_MACHINE AND WIX_NATIVE_MACHINE="43620")</Condition>
|
||||
<?endif ?>
|
||||
<Condition Message="!(loc.ErrorWin7)">VersionNT>=601</Condition>
|
||||
<Condition Message="!(loc.ErrorNewVersion)">NOT NEWERPRODUCTFOUND OR Installed</Condition>
|
||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||
@@ -59,7 +68,7 @@
|
||||
<?endif ?>
|
||||
<Feature Id="ClassicExplorer" Level="1" Title="!(loc.ExplorerTitle)" ConfigurableDirectory="APPLICATIONFOLDER" AllowAdvertise="no" Description="!(loc.ExplorerDesc)">
|
||||
<ComponentRef Id="ClassicExplorer32.dll" />
|
||||
<?if $(var.x64)=1 ?>
|
||||
<?if $(var.x64)=1 Or $(var.ARM64)=1 ?>
|
||||
<ComponentRef Id="ClassicExplorer64.dll" />
|
||||
<?endif ?>
|
||||
<ComponentRef Id="ExplorerL10N.ini" />
|
||||
@@ -71,7 +80,7 @@
|
||||
<ComponentRef Id="StartMenuDLL.dll" />
|
||||
<ComponentRef Id="StartMenuL10N.ini" />
|
||||
<ComponentRef Id="StartMenuHelper32.dll" />
|
||||
<?if $(var.x64)=1 ?>
|
||||
<?if $(var.x64)=1 Or $(var.ARM64)=1 ?>
|
||||
<ComponentRef Id="StartMenuHelper64.dll" />
|
||||
<?endif ?>
|
||||
<ComponentRef Id="StartScreenLink" />
|
||||
@@ -98,7 +107,7 @@
|
||||
<Feature Id="ClassicIE" Level="2" Title="!(loc.IETitle)" ConfigurableDirectory="APPLICATIONFOLDER" AllowAdvertise="no" Description="!(loc.IEDesc)">
|
||||
<ComponentRef Id="ClassicIEDLL_32.dll" />
|
||||
<ComponentRef Id="ClassicIE_32.exe" />
|
||||
<?if $(var.x64)=1 ?>
|
||||
<?if $(var.x64)=1 Or $(var.ARM64)=1 ?>
|
||||
<ComponentRef Id="ClassicIEDLL_64.dll" />
|
||||
<ComponentRef Id="ClassicIE_64.exe" />
|
||||
<?endif ?>
|
||||
@@ -443,6 +452,25 @@
|
||||
<Component Id="StartMenuDLL.dll" Guid="C5226061-17DE-4DF6-A088-CC84F6A7BE84" Win64="yes" DiskId="2">
|
||||
<File Id="StartMenuDLL.dll" Checksum="yes" KeyPath="yes" Source="Output\x64\StartMenuDLL.dll" Vital="yes" />
|
||||
</Component>
|
||||
<?elseif $(var.ARM64)=1 ?>
|
||||
<Component Id="ClassicExplorer64.dll" Guid="2C25783D-394D-4E5B-9259-1650F561E2CE" Win64="yes" DiskId="2">
|
||||
<File Id="ClassicExplorer64.dll" KeyPath="yes" Source="Output\ARM64\ClassicExplorer64.dll" Checksum="yes" SelfRegCost="0" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="ClassicIEDLL_64.dll" Guid="43E62408-40EB-4FBB-98CC-7463F5B78266" Win64="yes" DiskId="2">
|
||||
<File Id="ClassicIEDLL_64.dll" KeyPath="yes" Source="Output\ARM64\ClassicIEDLL_64.dll" Checksum="yes" SelfRegCost="0" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="ClassicIE_64.exe" Guid="E822E720-8477-4511-AD93-172313EFA636" Win64="yes" DiskId="2">
|
||||
<File Id="ClassicIE_64.exe" KeyPath="yes" Source="Output\ARM64\ClassicIE_64.exe" Checksum="yes" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="StartMenu.exe" Guid="FC69E080-4232-4161-A1E5-20E255FB2F6B" Win64="yes" DiskId="2">
|
||||
<File Id="StartMenu.exe" KeyPath="yes" Checksum="yes" Source="Output\ARM64\StartMenu.exe" Vital="yes" />
|
||||
<Shortcut Id="StartMenuSettings" Name="Start Menu Settings" Advertise="no" Arguments="-settings" Description="!(loc.StartSettingsDesc)" Target="[APPLICATIONFOLDER]StartMenu.exe" WorkingDirectory="APPLICATIONFOLDER">
|
||||
<ShortcutProperty Key="System.AppUserModel.ID" Value="OpenShell.StartMenu.Settings" />
|
||||
</Shortcut>
|
||||
</Component>
|
||||
<Component Id="StartMenuDLL.dll" Guid="ED99E7BC-9F2C-4A96-A942-6E7D41628AB0" Win64="yes" DiskId="2">
|
||||
<File Id="StartMenuDLL.dll" Checksum="yes" KeyPath="yes" Source="Output\ARM64\StartMenuDLL.dll" Vital="yes" />
|
||||
</Component>
|
||||
<?else ?>
|
||||
<Component Id="StartMenu.exe" Guid="F74C0FF3-A8C0-4B6E-AFD2-F9467DE4D90B" Win64="no" DiskId="2">
|
||||
<File Id="StartMenu.exe" KeyPath="yes" Checksum="yes" Source="Output\StartMenu.exe" Vital="yes" />
|
||||
@@ -624,6 +652,11 @@
|
||||
<File Id="StartMenuHelper64.dll" KeyPath="yes" Source="Output\x64\StartMenuHelper64.dll" Checksum="yes" SelfRegCost="0" Vital="yes" />
|
||||
</Component>
|
||||
<?endif ?>
|
||||
<?if $(var.ARM64)=1 ?>
|
||||
<Component Id="StartMenuHelper64.dll" Guid="108B11E8-2F76-4C37-A274-62BAE6240490" Win64="yes" DiskId="2">
|
||||
<File Id="StartMenuHelper64.dll" KeyPath="yes" Source="Output\ARM64\StartMenuHelper64.dll" Checksum="yes" SelfRegCost="0" Vital="yes" />
|
||||
</Component>
|
||||
<?endif ?>
|
||||
</DirectoryRef>
|
||||
<Icon Id="icon.ico" SourceFile="..\Setup\OpenShell.ico" />
|
||||
<Property Id="ARPPRODUCTICON" Value="icon.ico" />
|
||||
|
||||
61
Src/Setup/SetupHelper/SetupHelper.rc
Normal file
61
Src/Setup/SetupHelper/SetupHelper.rc
Normal file
@@ -0,0 +1,61 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "winres.h"
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION _PRODUCT_VERSION
|
||||
PRODUCTVERSION _PRODUCT_VERSION
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904e4"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Open-Shell"
|
||||
VALUE "FileDescription", "Setup helper"
|
||||
VALUE "FileVersion", _PRODUCT_VERSION_STR
|
||||
VALUE "InternalName", "SetupHelper.exe"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team"
|
||||
VALUE "OriginalFilename", "SetupHelper.exe"
|
||||
VALUE "ProductName", "Open-Shell"
|
||||
VALUE "ProductVersion", _PRODUCT_VERSION_STR
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1252
|
||||
END
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@@ -38,6 +38,9 @@
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SetupHelper.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="SetupHelper.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="SetupHelper.manifest" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -86,7 +86,7 @@ int CalcMsiChecksum( wchar_t *const *params, int count )
|
||||
|
||||
// load files
|
||||
wchar_t path1[_MAX_PATH];
|
||||
std::vector<unsigned char> buf1, buf2;
|
||||
std::vector<unsigned char> buf1, buf2, buf3;
|
||||
Sprintf(path1,_countof(path1),L"%s\\Setup32.msi",params[1]);
|
||||
LoadFile(path1,buf1);
|
||||
if (buf1.empty())
|
||||
@@ -102,20 +102,30 @@ int CalcMsiChecksum( wchar_t *const *params, int count )
|
||||
Printf("Failed to open file %s\n",path2);
|
||||
return 1;
|
||||
}
|
||||
wchar_t path3[_MAX_PATH];
|
||||
Sprintf(path3,_countof(path3),L"%s\\SetupARM64.msi",params[1]);
|
||||
LoadFile(path3,buf3);
|
||||
if (buf3.empty())
|
||||
{
|
||||
Printf("Failed to open file %s\n",path3);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int len1=(int)buf1.size();
|
||||
int len2=(int)buf2.size();
|
||||
int len3=(int)buf3.size();
|
||||
|
||||
for (std::vector<unsigned char>::iterator it=buf1.begin();it!=buf1.end();++it)
|
||||
*it^=0xFF;
|
||||
for (std::vector<unsigned char>::iterator it=buf2.begin();it!=buf2.end();++it)
|
||||
*it^=0xFF;
|
||||
for (std::vector<unsigned char>::iterator it=buf3.begin();it!=buf3.end();++it)
|
||||
*it^=0xFF;
|
||||
|
||||
// detect common blocks (assuming at least 256K in size and in the same order in both files)
|
||||
const int BLOCK_SIZE=256*1024;
|
||||
const int BLOCK_SIZE = 256 * 1024;
|
||||
// detect x86/x64 common blocks (assuming at least 256K in size and in the same order in both files)
|
||||
std::vector<Chunk> chunks;
|
||||
int start2=0;
|
||||
for (int i=0;i<len1-BLOCK_SIZE;i+=BLOCK_SIZE)
|
||||
for (int i=0,start2=0;i<len1-BLOCK_SIZE;i+=BLOCK_SIZE)
|
||||
{
|
||||
for (int j=start2;j<len2-BLOCK_SIZE;j++)
|
||||
{
|
||||
@@ -142,6 +152,35 @@ int CalcMsiChecksum( wchar_t *const *params, int count )
|
||||
}
|
||||
}
|
||||
}
|
||||
// detect x86/ARM64 common blocks (assuming at least 256K in size and in the same order in both files)
|
||||
std::vector<Chunk> chunks2;
|
||||
for (int i=0,start2=0;i<len1-BLOCK_SIZE;i+=BLOCK_SIZE)
|
||||
{
|
||||
for (int j=start2;j<len3-BLOCK_SIZE;j++)
|
||||
{
|
||||
if (memcmp(&buf1[i],&buf3[j],BLOCK_SIZE)==0)
|
||||
{
|
||||
Chunk chunk;
|
||||
chunk.start1=i;
|
||||
chunk.start2=j;
|
||||
chunk.len=BLOCK_SIZE;
|
||||
while (chunk.start1>0 && chunk.start2>0 && buf1[chunk.start1-1]==buf3[chunk.start2-1])
|
||||
{
|
||||
chunk.start1--;
|
||||
chunk.start2--;
|
||||
chunk.len++;
|
||||
}
|
||||
while (chunk.start1+chunk.len<len1 && chunk.start2+chunk.len<len3 && buf1[chunk.start1+chunk.len]==buf3[chunk.start2+chunk.len])
|
||||
{
|
||||
chunk.len++;
|
||||
}
|
||||
chunks2.push_back(chunk);
|
||||
i=chunk.start1+chunk.len-1;
|
||||
start2=chunk.start2+chunk.len;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// save modified 32-bit MSI
|
||||
{
|
||||
@@ -177,9 +216,31 @@ int CalcMsiChecksum( wchar_t *const *params, int count )
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
unsigned int fnvs[2];
|
||||
// save modified ARM64 MSI
|
||||
{
|
||||
Strcat(path3,_countof(path3),L"_");
|
||||
FILE* f=NULL;
|
||||
if (_wfopen_s(&f,path3,L"wb") || !f)
|
||||
{
|
||||
Printf("Failed to write %s\n",path3);
|
||||
return 1;
|
||||
}
|
||||
int start=0;
|
||||
for (std::vector<Chunk>::const_iterator it=chunks2.begin();it!=chunks2.end();++it)
|
||||
{
|
||||
if (it->start2-start>0)
|
||||
fwrite(&buf3[start],1,it->start2-start,f);
|
||||
start=it->start2+it->len;
|
||||
}
|
||||
if (len3-start>0)
|
||||
fwrite(&buf3[start],1,len3-start,f);
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
unsigned int fnvs[3];
|
||||
fnvs[0]=CalcFNVHash(&buf1[0],len1,FNV_HASH0);
|
||||
fnvs[1]=CalcFNVHash(&buf2[0],len2,FNV_HASH0);
|
||||
fnvs[2]=CalcFNVHash(&buf3[0],len3,FNV_HASH0);
|
||||
|
||||
// save fnvs and chunks
|
||||
{
|
||||
@@ -193,6 +254,9 @@ int CalcMsiChecksum( wchar_t *const *params, int count )
|
||||
int count=(int)chunks.size();
|
||||
fwrite(&count,1,4,f);
|
||||
fwrite(&chunks[0],sizeof(Chunk),count,f);
|
||||
count=(int)chunks2.size();
|
||||
fwrite(&count,1,4,f);
|
||||
fwrite(&chunks2[0],sizeof(Chunk),count,f);
|
||||
fclose(f);
|
||||
}
|
||||
return 0;
|
||||
@@ -841,7 +905,7 @@ static HRESULT CALLBACK TaskDialogCallback( HWND hwnd, UINT uNotification, WPARA
|
||||
// Open-Shell utility - multiple utilities for building and maintaining Open-Shell
|
||||
// Usage:
|
||||
// no parameters - saves a troubleshooting log
|
||||
// crcmsi <msi path> // creates a file with checksum of both msi files
|
||||
// crcmsi <msi path> // creates a file with checksum of all msi files
|
||||
// makeEN <explorer dll> <start menu dll> <ie dll> <update exe> // extracts the localization resources and creates a sample en-US.DLL
|
||||
// extract <dll> <csv> // extracts the string table, the dialog text, and the L10N text from a DLL and stores it in a CSV
|
||||
// extract en-us.dll <dll> <csv> // extracts the string table, the dialog text, and the L10N text from two DLL and stores it in a CSV
|
||||
|
||||
@@ -207,6 +207,44 @@ BEGIN
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION _PRODUCT_VERSION
|
||||
PRODUCTVERSION _PRODUCT_VERSION
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904e4"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Open-Shell"
|
||||
VALUE "FileDescription", "Utility"
|
||||
VALUE "FileVersion", _PRODUCT_VERSION_STR
|
||||
VALUE "InternalName", "Utility.exe"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team"
|
||||
VALUE "OriginalFilename", "Utility.exe"
|
||||
VALUE "ProductName", "Open-Shell"
|
||||
VALUE "ProductVersion", _PRODUCT_VERSION_STR
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1252
|
||||
END
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
<?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|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -9,6 +13,10 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -63,6 +71,7 @@
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Utility.rc">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">true</ExcludedFromBuild>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#define IDS_ERR_CORRUPTED 102
|
||||
#define IDR_MSI_FILE32 132
|
||||
#define IDR_MSI_FILE64 164
|
||||
#define IDR_MSI_FILEARM64 165
|
||||
#define IDS_ERR_INTERNAL 166
|
||||
#define IDS_ERR_EXTRACT 167
|
||||
#define IDR_MSI_CHECKSUM 167
|
||||
|
||||
@@ -52,14 +52,6 @@ END
|
||||
// Version
|
||||
//
|
||||
|
||||
// Solution loading fail-safe
|
||||
#ifndef _PRODUCT_VERSION
|
||||
#define _PRODUCT_VERSION 4.4.102
|
||||
#endif
|
||||
#ifndef _PRODUCT_VERSION_STR
|
||||
#define _PRODUCT_VERSION_STR "4.4.102"
|
||||
#endif
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION _PRODUCT_VERSION
|
||||
PRODUCTVERSION _PRODUCT_VERSION
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
<?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|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -9,6 +13,10 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -17,6 +25,10 @@
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|ARM64">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|Win32">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
||||
@@ -67,6 +67,8 @@ static SIZE g_TaskbarTextureSize;
|
||||
static TTaskbarTile g_TaskbarTileH, g_TaskbarTileV;
|
||||
static RECT g_TaskbarMargins;
|
||||
int g_CurrentCSMTaskbar=-1, g_CurrentWSMTaskbar=-1;
|
||||
// ExplorerPatcher taskbar
|
||||
static bool g_epTaskbar = false;
|
||||
|
||||
static void FindWindowsMenu( void );
|
||||
static void RecreateStartButton( size_t taskbarId );
|
||||
@@ -1216,6 +1218,19 @@ void EnableHotkeys( THotkeys enable )
|
||||
}
|
||||
}
|
||||
|
||||
bool IsTouchTaskbar(void)
|
||||
{
|
||||
if (!IsWin11())
|
||||
return false;
|
||||
|
||||
CRegKey regKey;
|
||||
if (regKey.Open(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer") != ERROR_SUCCESS)
|
||||
return false;
|
||||
|
||||
DWORD val;
|
||||
return regKey.QueryDWORDValue(L"TabletPostureTaskbar", val) == ERROR_SUCCESS && val;
|
||||
}
|
||||
|
||||
static void UpdateStartButtonPosition(const TaskbarInfo* taskBar, const WINDOWPOS* pPos)
|
||||
{
|
||||
if (IsStartButtonSmallIcons(taskBar->taskbarId) != IsTaskbarSmallIcons())
|
||||
@@ -1223,10 +1238,13 @@ static void UpdateStartButtonPosition(const TaskbarInfo* taskBar, const WINDOWPO
|
||||
|
||||
RECT rcTask;
|
||||
GetWindowRect(taskBar->taskBar, &rcTask);
|
||||
if (RECT rc; GetWindowRgnBox(taskBar->taskBar, &rc) != ERROR)
|
||||
if (IsTouchTaskbar())
|
||||
{
|
||||
MapWindowPoints(taskBar->taskBar, NULL, (POINT*)&rc, 2);
|
||||
rcTask = rc;
|
||||
if (RECT rc; GetWindowRgnBox(taskBar->taskBar, &rc) != ERROR)
|
||||
{
|
||||
MapWindowPoints(taskBar->taskBar, NULL, (POINT*)&rc, 2);
|
||||
rcTask = rc;
|
||||
}
|
||||
}
|
||||
MONITORINFO info;
|
||||
UINT uEdge = GetTaskbarPosition(taskBar->taskBar, &info, NULL, NULL);
|
||||
@@ -1326,7 +1344,7 @@ static void UpdateStartButtonPosition(const TaskbarInfo* taskBar, const WINDOWPO
|
||||
|
||||
// Start button on Win11 is a bit shifted to the right
|
||||
// We will shift our Aero button to cover original button
|
||||
if (IsWin11() && (x == info.rcMonitor.left) && (GetStartButtonType() == START_BUTTON_AERO))
|
||||
if (IsWin11() && (x == info.rcMonitor.left) && (GetStartButtonType() == START_BUTTON_AERO) && !g_epTaskbar)
|
||||
x += ScaleForDpi(taskBar->taskBar, 6);
|
||||
}
|
||||
|
||||
@@ -2756,6 +2774,17 @@ static void WINAPI SHFillRectClr2( HDC hdc, const RECT *pRect, COLORREF color )
|
||||
g_SHFillRectClr(hdc,pRect,color);
|
||||
}
|
||||
|
||||
static IatHookData* g_ExtTextOutWHook = nullptr;
|
||||
|
||||
// used by ExplorerPatcher's custom implementation of `SHFillRectClr`
|
||||
static BOOL WINAPI ExtTextOutW2(HDC hdc, int X, int Y, UINT fuOptions, const RECT* lprc, LPCWSTR lpString, UINT cbCount, const INT* lpDx)
|
||||
{
|
||||
if (fuOptions != ETO_OPAQUE || lpString || cbCount || lpDx || !g_CurrentTaskList || !g_TaskbarTexture || GetCurrentThreadId() != g_TaskbarThreadId)
|
||||
return ExtTextOutW(hdc, X, Y, fuOptions, lprc, lpString, cbCount, lpDx);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static HRESULT STDAPICALLTYPE DrawThemeBackground2( HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCRECT pRect, LPCRECT pClipRect )
|
||||
{
|
||||
if (g_CurrentTaskList && g_TaskbarTexture && iPartId==1 && iStateId==0 && GetCurrentThreadId()==g_TaskbarThreadId)
|
||||
@@ -2940,6 +2969,15 @@ static void InitStartMenuDLL( void )
|
||||
if (GetSettingBool(L"CustomTaskbar"))
|
||||
{
|
||||
auto module=GetModuleHandle(L"taskbar.dll");
|
||||
if (!module)
|
||||
{
|
||||
module = GetModuleHandle(L"ep_taskbar.5.dll");
|
||||
if (!module)
|
||||
module = GetModuleHandle(L"ep_taskbar.2.dll");
|
||||
|
||||
if (module)
|
||||
g_epTaskbar = true;
|
||||
}
|
||||
if (!module)
|
||||
module=GetModuleHandle(NULL);
|
||||
|
||||
@@ -2959,6 +2997,10 @@ static void InitStartMenuDLL( void )
|
||||
g_StretchDIBitsHook=SetIatHook(module,"gdi32.dll","StretchDIBits",StretchDIBits2);
|
||||
if (!g_StretchDIBitsHook)
|
||||
g_StretchDIBitsHook=SetIatHook(module,"ext-ms-win-gdi-draw-l1-1-0.dll","StretchDIBits",StretchDIBits2);
|
||||
|
||||
// ExplorerPatcher compatibility
|
||||
if (g_epTaskbar)
|
||||
g_ExtTextOutWHook = SetIatHook(module, "gdi32.dll", "ExtTextOutW", ExtTextOutW2);
|
||||
}
|
||||
|
||||
{
|
||||
@@ -3090,6 +3132,9 @@ static void InitStartMenuDLL( void )
|
||||
taskBar.chevron=FindWindowEx(tray,NULL,L"Button",NULL);
|
||||
if (taskBar.chevron)
|
||||
SetWindowSubclass(taskBar.chevron,SubclassTrayChevronProc,'CLSH',taskBar.taskbarId);
|
||||
taskBar.news=FindWindowEx(g_TaskBar,NULL,L"DynamicContent2",NULL);
|
||||
if (taskBar.news)
|
||||
SetWindowSubclass(taskBar.news,SubclassTrayChevronProc,'CLSH',taskBar.taskbarId);
|
||||
}
|
||||
|
||||
HandleTaskbarParts(taskBar,true);
|
||||
@@ -3179,11 +3224,15 @@ static void RecreateStartButton( size_t taskbarId )
|
||||
RECT rcTask;
|
||||
GetWindowRect(taskBar.taskBar,&rcTask);
|
||||
PostMessage(taskBar.taskBar,WM_SIZE,SIZE_RESTORED,MAKELONG(rcTask.right-rcTask.left,rcTask.bottom-rcTask.top));
|
||||
for (auto btn : taskBar.trayButtons)
|
||||
if (taskBar.taskBar==g_TaskBar)
|
||||
{
|
||||
RECT rc;
|
||||
GetWindowRect(btn,&rc);
|
||||
SetWindowPos(btn,HWND_TOP,rc.left,rc.top,0,0,SWP_NOSIZE|SWP_NOACTIVATE|SWP_NOZORDER);
|
||||
for (auto btn : taskBar.trayButtons)
|
||||
{
|
||||
RECT rc;
|
||||
GetWindowRect(btn,&rc);
|
||||
MapWindowPoints(NULL,taskBar.taskBar,(POINT*)&rc,2); // convert to taskbar coordinates
|
||||
SetWindowPos(btn,HWND_TOP,rc.left,rc.top,0,0,SWP_NOSIZE|SWP_NOACTIVATE|SWP_NOZORDER);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3208,6 +3257,8 @@ static void CleanStartMenuDLL( void )
|
||||
g_SHFillRectClrHook=NULL;
|
||||
ClearIatHook(g_StretchDIBitsHook);
|
||||
g_StretchDIBitsHook=NULL;
|
||||
ClearIatHook(g_ExtTextOutWHook);
|
||||
g_ExtTextOutWHook = NULL;
|
||||
|
||||
ClearIatHook(g_DrawThemeBackgroundHook);
|
||||
g_DrawThemeBackgroundHook=NULL;
|
||||
@@ -3276,6 +3327,8 @@ if (!g_bTrimHooks)
|
||||
}
|
||||
if (it->second.chevron)
|
||||
RemoveWindowSubclass(it->second.chevron,SubclassTrayChevronProc,'CLSH');
|
||||
if (it->second.news)
|
||||
RemoveWindowSubclass(it->second.news,SubclassTrayChevronProc,'CLSH');
|
||||
if (it->second.desktop)
|
||||
RemoveWindowSubclass(it->second.desktop,SubclassDesktopButtonProc,'CLSH');
|
||||
if (it->second.bTimer)
|
||||
|
||||
@@ -47,7 +47,7 @@ void EnableStartTooltip( bool bEnable );
|
||||
|
||||
struct TaskbarInfo
|
||||
{
|
||||
TaskbarInfo( void ) { taskbarId=pointerId=0; taskBar=startButton=oldButton=rebar=taskList=chevron=desktop=NULL; startButtonSize.cx=startButtonSize.cy=0; oldButtonSize.cx=oldButtonSize.cy=0; bTimer=bCustomLook=bReplaceButton=bHideButton=bRecreatingButton=bThemeChanging=false; }
|
||||
TaskbarInfo( void ) { taskbarId=pointerId=0; taskBar=startButton=oldButton=rebar=taskList=chevron=news=desktop=NULL; startButtonSize.cx=startButtonSize.cy=0; oldButtonSize.cx=oldButtonSize.cy=0; bTimer=bCustomLook=bReplaceButton=bHideButton=bRecreatingButton=bThemeChanging=false; }
|
||||
int taskbarId;
|
||||
HWND taskBar;
|
||||
HWND startButton; // either own start button or the win7 start button (depending on bReplaceButton)
|
||||
@@ -55,6 +55,7 @@ struct TaskbarInfo
|
||||
HWND rebar;
|
||||
HWND taskList;
|
||||
HWND chevron;
|
||||
HWND news;
|
||||
HWND desktop;
|
||||
SIZE startButtonSize;
|
||||
SIZE oldButtonSize;
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
<?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|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -9,6 +13,10 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -17,6 +25,10 @@
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|ARM64">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|Win32">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
||||
@@ -274,15 +274,30 @@ static void ParseApplicationInformation(CComPtr<IXMLDOMNode>& parent, AttributeW
|
||||
}
|
||||
}
|
||||
|
||||
static void ParseSettingIDs(CComPtr<IXMLDOMNode>& node, AttributeWriter& writer)
|
||||
{
|
||||
writer.addString(Id::PageId, GetTranslatedString(node, L"PageID"));
|
||||
writer.addString(Id::HostId, GetTranslatedString(node, L"HostID"));
|
||||
writer.addString(Id::GroupId, GetTranslatedString(node, L"GroupID"));
|
||||
writer.addString(Id::SettingId, GetTranslatedString(node, L"SettingID"));
|
||||
}
|
||||
|
||||
static void ParseSettingPaths(CComPtr<IXMLDOMNode>& parent, AttributeWriter& writer)
|
||||
{
|
||||
CComPtr<IXMLDOMNode> node;
|
||||
if (parent->selectSingleNode(CComBSTR(L"SettingPaths/Path"), &node) == S_OK)
|
||||
ParseSettingIDs(node, writer);
|
||||
}
|
||||
|
||||
static void ParseSettingIdentity(CComPtr<IXMLDOMNode>& parent, AttributeWriter& writer)
|
||||
{
|
||||
CComPtr<IXMLDOMNode> node;
|
||||
if (parent->selectSingleNode(CComBSTR(L"SettingIdentity"), &node) == S_OK)
|
||||
{
|
||||
writer.addString(Id::PageId, GetTranslatedString(node, L"PageID"));
|
||||
writer.addString(Id::HostId, GetTranslatedString(node, L"HostID"));
|
||||
writer.addString(Id::GroupId, GetTranslatedString(node, L"GroupID"));
|
||||
writer.addString(Id::SettingId, GetTranslatedString(node, L"SettingID"));
|
||||
// Win11 24H2+
|
||||
ParseSettingPaths(node, writer);
|
||||
// older
|
||||
ParseSettingIDs(node, writer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
<?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|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64EC">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -9,6 +17,14 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64EC">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -17,6 +33,14 @@
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|ARM64">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|ARM64EC">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>ARM64EC</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Setup|Win32">
|
||||
<Configuration>Setup</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -53,6 +77,13 @@
|
||||
<PropertyGroup Condition="'$(Platform)'=='x64'">
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM64EC'">
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM64'">
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
<BuildAsX>true</BuildAsX>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
|
||||
@@ -93,6 +93,7 @@ Menu.SearchPeople = عن أ&شخاص...
|
||||
Menu.SortByName = فرز &حسب الاسم
|
||||
Menu.Open = ف&تح
|
||||
Menu.OpenAll = &فتح كافة المستخدمين
|
||||
Menu.OpenPinned = Open Pinned
|
||||
Menu.Explore = ا&ستكشاف
|
||||
Menu.ExploreAll = است&كشاف كافة المستخدمين
|
||||
Menu.MenuSettings = إعدادات
|
||||
@@ -229,6 +230,7 @@ Menu.SearchPeople = За хо&ра...
|
||||
Menu.SortByName = &Сортирай по име
|
||||
Menu.Open = &Отвори
|
||||
Menu.OpenAll = О&твори "Всички потребители"
|
||||
Menu.OpenPinned = Отворете фиксираните елементи
|
||||
Menu.Explore = &Преглед
|
||||
Menu.ExploreAll = Пре&глед на "Всички потребители"
|
||||
Menu.MenuSettings = Настройки
|
||||
@@ -365,6 +367,7 @@ Menu.SearchPeople = &Persones...
|
||||
Menu.SortByName = Ordenar per &Nom
|
||||
Menu.Open = &Obrir
|
||||
Menu.OpenAll = Ob&rir tots els usuaris
|
||||
Menu.OpenPinned = Obre elements fixats
|
||||
Menu.Explore = E&xplorar
|
||||
Menu.ExploreAll = &Explorar tots els usuaris
|
||||
Menu.MenuSettings = Configuració
|
||||
@@ -503,6 +506,7 @@ Menu.SearchPeople = Oso&by...
|
||||
Menu.SortByName = Seřadit podle &názvu
|
||||
Menu.Open = &Otevřít
|
||||
Menu.OpenAll = Ot&evřít položky všech uživatele
|
||||
Menu.OpenPinned = Otevřít připnuté položky
|
||||
Menu.Explore = Proz&koumat
|
||||
Menu.ExploreAll = P&rocházet položky všech uživatelů
|
||||
Menu.MenuSettings = Nastavení
|
||||
@@ -639,6 +643,7 @@ Menu.SearchPeople = Efter &personer...
|
||||
Menu.SortByName = So&rter efter navn
|
||||
Menu.Open = Å&bn
|
||||
Menu.OpenAll = &Åbn mappen Alle brugere
|
||||
Menu.OpenPinned = Åbn fastgjorte elementer
|
||||
Menu.Explore = &Stifinder
|
||||
Menu.ExploreAll = &Gennemse mappen Alle brugere
|
||||
Menu.MenuSettings = Indstillinger
|
||||
@@ -912,6 +917,7 @@ Menu.SearchPeople = Για ά&τομα...
|
||||
Menu.SortByName = Ταξι&νόμηση κατά όνομα
|
||||
Menu.Open = Άν&οιγμα
|
||||
Menu.OpenAll = Άνοιγμα ό&λων των χρηστών
|
||||
Menu.OpenPinned = Άνοιγμα καρφιτσωμένων στοιχείων
|
||||
Menu.Explore = Ε&ξερεύνηση
|
||||
Menu.ExploreAll = &Εξερεύνηση όλων των χρηστών
|
||||
Menu.MenuSettings = Ρυθμίσεις
|
||||
@@ -1048,6 +1054,7 @@ Menu.SearchPeople = For &People...
|
||||
Menu.SortByName = Sort &by Name
|
||||
Menu.Open = &Open
|
||||
Menu.OpenAll = O&pen All Users
|
||||
Menu.OpenPinned = Open Pinned
|
||||
Menu.Explore = &Explore
|
||||
Menu.ExploreAll = E&xplore All Users
|
||||
Menu.MenuSettings = Settings
|
||||
@@ -1184,6 +1191,7 @@ Menu.SearchPeople = &Personas...
|
||||
Menu.SortByName = Ordenar por &Nombre
|
||||
Menu.Open = &Abrir
|
||||
Menu.OpenAll = Ab&rir todos los usuarios
|
||||
Menu.OpenPinned = Abrir elementos fijados
|
||||
Menu.Explore = E&xplorar
|
||||
Menu.ExploreAll = &Explorar todos los usuarios
|
||||
Menu.MenuSettings = Configuración
|
||||
@@ -1320,6 +1328,7 @@ Menu.SearchPeople = &Inimesi...
|
||||
Menu.SortByName = Sor&di nime järgi
|
||||
Menu.Open = &Ava
|
||||
Menu.OpenAll = A&va kaust Kõik kasutajad
|
||||
Menu.OpenPinned = Ava kinnitatud üksused
|
||||
Menu.Explore = Uu&ri
|
||||
Menu.ExploreAll = Uur&i kausta Kõik kasutajad
|
||||
Menu.MenuSettings = Sätted
|
||||
@@ -1456,6 +1465,7 @@ Menu.SearchPeople = برای ا&فراد...
|
||||
Menu.SortByName = &ترتیب بر اساس نام
|
||||
Menu.Open = با&ز کردن
|
||||
Menu.OpenAll = باز کردن تمام &کاربرها
|
||||
Menu.OpenPinned = Open Pinned
|
||||
Menu.Explore = کاو&ش
|
||||
Menu.ExploreAll = کاوش ت&مام کاربرها
|
||||
Menu.MenuSettings = تنظیمات
|
||||
@@ -1594,6 +1604,7 @@ Menu.SearchPeople = &Henkilöitä...
|
||||
Menu.SortByName = &Lajittele nimen mukaan
|
||||
Menu.Open = &Avaa
|
||||
Menu.OpenAll = Avaa &kaikki käyttäjät
|
||||
Menu.OpenPinned = Avaa kiinnitetyt kohteet
|
||||
Menu.Explore = &Resurssienhallinta
|
||||
Menu.ExploreAll = &Selaa kaikkia käyttäjiä
|
||||
Menu.MenuSettings = Asetukset
|
||||
@@ -1730,6 +1741,7 @@ Menu.SearchPeople = Des &personnes…
|
||||
Menu.SortByName = Trier par &nom
|
||||
Menu.Open = &Ouvrir
|
||||
Menu.OpenAll = Ouvrir &tous les utilisateurs
|
||||
Menu.OpenPinned = Ouvrir les éléments épinglés
|
||||
Menu.Explore = E&xplorer
|
||||
Menu.ExploreAll = &Explorer Tous les utilisateurs
|
||||
Menu.MenuSettings = Paramètres
|
||||
@@ -1866,6 +1878,7 @@ Menu.SearchPeople = Airson &daoine...
|
||||
Menu.SortByName = Seòrsaich a-rèir ain&m
|
||||
Menu.Open = F&osgail
|
||||
Menu.OpenAll = &Fosgail a h-uile cleachdaiche
|
||||
Menu.OpenPinned = Fosgail nithean pinnte
|
||||
Menu.Explore = &Rùraich
|
||||
Menu.ExploreAll = Rùraic&h a h-uile cleachdaiche
|
||||
Menu.MenuSettings = Roghainnean
|
||||
@@ -2002,6 +2015,7 @@ Menu.SearchPeople = עבור &אנשים...
|
||||
Menu.SortByName = מיין לפי &שם
|
||||
Menu.Open = &פתח
|
||||
Menu.OpenAll = פתח את &כל המשתמשים
|
||||
Menu.OpenPinned = Open Pinned
|
||||
Menu.Explore = &סייר
|
||||
Menu.ExploreAll = סיי&ר בכל המשתמשים
|
||||
Menu.MenuSettings = הגדרות
|
||||
@@ -2138,6 +2152,7 @@ Menu.SearchPeople = Za &osobe...
|
||||
Menu.SortByName = Poredaj po i&menu
|
||||
Menu.Open = &Otvori
|
||||
Menu.OpenAll = Ot&vori sve korisnike
|
||||
Menu.OpenPinned = Otvaranje zakačenih stavki
|
||||
Menu.Explore = Ist&raži
|
||||
Menu.ExploreAll = Istr&aži sve korisnike
|
||||
Menu.MenuSettings = Postavke
|
||||
@@ -2274,6 +2289,7 @@ Menu.SearchPeople = &Személyek...
|
||||
Menu.SortByName = &Név szerinti rendezés
|
||||
Menu.Open = &Megnyitás
|
||||
Menu.OpenAll = M&egnyitás - All Users
|
||||
Menu.OpenPinned = Open Pinned
|
||||
Menu.Explore = T&allózás
|
||||
Menu.ExploreAll = Ta&llózás - All Users
|
||||
Menu.MenuSettings = Beállítások
|
||||
@@ -2412,6 +2428,7 @@ Menu.SearchPeople = Að &fólki...
|
||||
Menu.SortByName = Raða &eftir heiti
|
||||
Menu.Open = &Opna
|
||||
Menu.OpenAll = O&pna Allir notendur
|
||||
Menu.OpenPinned = Opnaðu fest atriði
|
||||
Menu.Explore = Opna &möppu
|
||||
Menu.ExploreAll = Opna m&öppu Allir notendur
|
||||
Menu.MenuSettings = Stillingar
|
||||
@@ -2548,6 +2565,7 @@ Menu.SearchPeople = &Contatti...
|
||||
Menu.SortByName = Or&dina per nome
|
||||
Menu.Open = &Apri
|
||||
Menu.OpenAll = Apri &cartella Utenti
|
||||
Menu.OpenPinned = Apri gli elementi appuntati
|
||||
Menu.Explore = &Esplora
|
||||
Menu.ExploreAll = Esplora cartella &Utenti
|
||||
Menu.MenuSettings = Impostazioni
|
||||
@@ -2684,6 +2702,7 @@ Menu.SearchPeople = 人(&P)...
|
||||
Menu.SortByName = 名前順で並べ替え(&B)
|
||||
Menu.Open = 開く(&O)
|
||||
Menu.OpenAll = 開く - All Users(&P)
|
||||
Menu.OpenPinned = 開く - Pinned
|
||||
Menu.Explore = エクスプローラー(&E)
|
||||
Menu.ExploreAll = エクスプローラー - All Users(&X)
|
||||
Menu.MenuSettings = 設定
|
||||
@@ -2820,6 +2839,7 @@ Menu.SearchPeople = 사람 찾기(&P)...
|
||||
Menu.SortByName = 이름순 정렬(&B)
|
||||
Menu.Open = 열기(&O)
|
||||
Menu.OpenAll = 열기 - All Users(&P)
|
||||
Menu.OpenPinned = 열기 - Pinned
|
||||
Menu.Explore = 탐색(&E)
|
||||
Menu.ExploreAll = 탐색 - All Users(&X)
|
||||
Menu.MenuSettings = 설정
|
||||
@@ -2956,6 +2976,7 @@ Menu.SearchPeople = &Asmenims...
|
||||
Menu.SortByName = &Rūšiuoti pagal vardus
|
||||
Menu.Open = &Atidaryti
|
||||
Menu.OpenAll = A&tidaryti aplanką Visi vartotojai
|
||||
Menu.OpenPinned = Atidaryti prisegtus elementus
|
||||
Menu.Explore = Naršyt&i
|
||||
Menu.ExploreAll = Na&ršyti visus vartotojus
|
||||
Menu.MenuSettings = Parametrai
|
||||
@@ -3092,6 +3113,7 @@ Menu.SearchPeople = &Personām...
|
||||
Menu.SortByName = &Kārtot pēc nosaukuma
|
||||
Menu.Open = A&tvērt
|
||||
Menu.OpenAll = &Atvērt visus lietotājus
|
||||
Menu.OpenPinned = Atvērt piespraustos vienumus
|
||||
Menu.Explore = &Pārlūkot
|
||||
Menu.ExploreAll = Pār&lūkot visus lietotājus
|
||||
Menu.MenuSettings = Iestatījumi
|
||||
@@ -3228,6 +3250,7 @@ Menu.SearchPeople = За луѓе...
|
||||
Menu.SortByName = Сортирај по име
|
||||
Menu.Open = Отвори
|
||||
Menu.OpenAll = Отвори "Сите корисници"
|
||||
Menu.OpenPinned = Отворете закачени ставки
|
||||
Menu.Explore = Преглед
|
||||
Menu.ExploreAll = Преглед на "Сите корисници"
|
||||
Menu.MenuSettings = Подесувања
|
||||
@@ -3364,6 +3387,7 @@ Menu.SearchPeople = Etter &personer...
|
||||
Menu.SortByName = Sorter etter &navn
|
||||
Menu.Open = Å&pne
|
||||
Menu.OpenAll = &Åpne mappen All users
|
||||
Menu.OpenPinned = Åpne festede elementer
|
||||
Menu.Explore = &Utforsk
|
||||
Menu.ExploreAll = Utforsk &mappen All users
|
||||
Menu.MenuSettings = Innstillinger
|
||||
@@ -3500,6 +3524,7 @@ Menu.SearchPeople = &Personen...
|
||||
Menu.SortByName = S&orteren op naam
|
||||
Menu.Open = &Openen
|
||||
Menu.OpenAll = &Alle gebruikers weergeven
|
||||
Menu.OpenPinned = Open vastgezette items
|
||||
Menu.Explore = Ve&rkennen
|
||||
Menu.ExploreAll = Alle &gebruikers verkennen
|
||||
Menu.MenuSettings = Instellingen
|
||||
@@ -3636,6 +3661,7 @@ Menu.SearchPeople = &Do osób...
|
||||
Menu.SortByName = Sortuj w&edług nazw
|
||||
Menu.Open = &Otwórz
|
||||
Menu.OpenAll = Otwórz &wszystkich użytkowników
|
||||
Menu.OpenPinned = Otwórz przypięte elementy
|
||||
Menu.Explore = &Eksploruj
|
||||
Menu.ExploreAll = E&ksploruj wszystkich użytkowników
|
||||
Menu.MenuSettings = Ustawienia
|
||||
@@ -3772,6 +3798,7 @@ Menu.SearchPeople = Para &Pessoas...
|
||||
Menu.SortByName = C&lassificar por nome
|
||||
Menu.Open = &Abrir
|
||||
Menu.OpenAll = A&brir a pasta All Users
|
||||
Menu.OpenPinned = Abrir itens fixados
|
||||
Menu.Explore = E&xplorar
|
||||
Menu.ExploreAll = Expl&orar a pasta All Users
|
||||
Menu.MenuSettings = Configurações
|
||||
@@ -3908,6 +3935,7 @@ Menu.SearchPeople = &Pessoas...
|
||||
Menu.SortByName = Ordenar pelo &nome
|
||||
Menu.Open = &Abrir
|
||||
Menu.OpenAll = A&brir All Users
|
||||
Menu.OpenPinned = Abrir os itens fixados
|
||||
Menu.Explore = E&xplorar
|
||||
Menu.ExploreAll = Explorar All &Users
|
||||
Menu.MenuSettings = Definições
|
||||
@@ -4044,6 +4072,7 @@ Menu.SearchPeople = &Persoane...
|
||||
Menu.SortByName = &Sortare după nume
|
||||
Menu.Open = &Deschidere
|
||||
Menu.OpenAll = Desc&hidere Toți utilizatorii
|
||||
Menu.OpenPinned = Deschideți elementele fixate
|
||||
Menu.Explore = &Explorare
|
||||
Menu.ExploreAll = E&xplorare Toți utilizatorii
|
||||
Menu.MenuSettings = Setări
|
||||
@@ -4180,6 +4209,7 @@ Menu.SearchPeople = &Людей...
|
||||
Menu.SortByName = &Сортировать по имени
|
||||
Menu.Open = &Открыть
|
||||
Menu.OpenAll = Открыть о&бщее для всех меню
|
||||
Menu.OpenPinned = Открыть папку "Pinned"
|
||||
Menu.Explore = &Проводник
|
||||
Menu.ExploreAll = Проводни&к в общее для всех меню
|
||||
Menu.MenuSettings = Настройка
|
||||
@@ -4316,6 +4346,7 @@ Menu.SearchPeople = Ľu&dia...
|
||||
Menu.SortByName = &Usporiadať podľa názvov
|
||||
Menu.Open = &Otvoriť
|
||||
Menu.OpenAll = Ot&voriť profil All Users
|
||||
Menu.OpenPinned = Otvoriť Pinned
|
||||
Menu.Explore = &Preskúmať
|
||||
Menu.ExploreAll = P&reskúmať profil All Users
|
||||
Menu.MenuSettings = Nastavenie
|
||||
@@ -4452,6 +4483,7 @@ Menu.SearchPeople = &Za osebe ...
|
||||
Menu.SortByName = &Razvrsti po imenih
|
||||
Menu.Open = &Odpri
|
||||
Menu.OpenAll = O&dpri mapo »All users«
|
||||
Menu.OpenPinned = Odpri »Pinned«
|
||||
Menu.Explore = R&azišči
|
||||
Menu.ExploreAll = &Razišči mapo »All users«
|
||||
Menu.MenuSettings = Nastavitve
|
||||
@@ -4588,6 +4620,7 @@ Menu.SearchPeople = &Za osobe...
|
||||
Menu.SortByName = &Sortiraj po imenu
|
||||
Menu.Open = &Otvori
|
||||
Menu.OpenAll = O&tvori sve korisnike
|
||||
Menu.OpenPinned = Otvori dodato
|
||||
Menu.Explore = &Istraži
|
||||
Menu.ExploreAll = Istraži sve &korisnike
|
||||
Menu.MenuSettings = Postavke
|
||||
@@ -4724,6 +4757,7 @@ Menu.SearchPeople = Efter &personer...
|
||||
Menu.SortByName = Sortera efter &namn
|
||||
Menu.Open = &Öppna
|
||||
Menu.OpenAll = Öppna &delade Start-menyn
|
||||
Menu.OpenPinned = Öppna fästa objekt
|
||||
Menu.Explore = &Utforska
|
||||
Menu.ExploreAll = Utf&orska delade Start-menyn
|
||||
Menu.MenuSettings = Inställningar
|
||||
@@ -4861,6 +4895,7 @@ Menu.SearchPeople = สำหรับ&บุคคล...
|
||||
Menu.SortByName = เรียงลำดั&บตามชื่อ
|
||||
Menu.Open = เ&ปิด
|
||||
Menu.OpenAll = &เปิดโฟลเดอร์ All Users
|
||||
Menu.OpenPinned = เ&ปิด Pinned
|
||||
Menu.Explore = สำรว&จ
|
||||
Menu.ExploreAll = &สำรวจโฟลเดอร์ All Users
|
||||
Menu.MenuSettings = การตั้งค่า
|
||||
@@ -4997,6 +5032,7 @@ Menu.SearchPeople = &Kişiler...
|
||||
Menu.SortByName = A&da Göre Sırala
|
||||
Menu.Open = &Aç
|
||||
Menu.OpenAll = Tü&m Kullanıcıları Aç
|
||||
Menu.OpenPinned = Sabitlenmiş öğeleri Aç
|
||||
Menu.Explore = A&raştır
|
||||
Menu.ExploreAll = &Tüm Kullanıcıları Araştır
|
||||
Menu.MenuSettings = Ayarlar
|
||||
@@ -5133,6 +5169,7 @@ Menu.SearchPeople = Л&юдей...
|
||||
Menu.SortByName = Сортувати за &іменем
|
||||
Menu.Open = &Відкрити
|
||||
Menu.OpenAll = В&ідкрити спільне для всіх меню
|
||||
Menu.OpenPinned = Open Pinned
|
||||
Menu.Explore = &Провідник
|
||||
Menu.ExploreAll = Пр&овідник до спільного для всіх меню
|
||||
Menu.MenuSettings = Настройки
|
||||
@@ -5269,6 +5306,7 @@ Menu.SearchPeople = 个人(&P)...
|
||||
Menu.SortByName = 按名称排序(&B)
|
||||
Menu.Open = 打开(&O)
|
||||
Menu.OpenAll = 打开所有用户(&P)
|
||||
Menu.OpenPinned = Open Pinned
|
||||
Menu.Explore = 浏览(&E)
|
||||
Menu.ExploreAll = 浏览所有用户(&X)
|
||||
Menu.MenuSettings = 设置
|
||||
@@ -5405,6 +5443,7 @@ Menu.SearchPeople = 人員(&P)...
|
||||
Menu.SortByName = 依名稱排序(&B)
|
||||
Menu.Open = 開啟(&O)
|
||||
Menu.OpenAll = 開啟所有使用者(&P)
|
||||
Menu.OpenPinned = Open Pinned
|
||||
Menu.Explore = 檔案總管(&E)
|
||||
Menu.ExploreAll = 瀏覽所有使用者(&X)
|
||||
Menu.MenuSettings = 設定
|
||||
@@ -5541,6 +5580,7 @@ Menu.SearchPeople = 人員(&P)...
|
||||
Menu.SortByName = 依名稱排序(&B)
|
||||
Menu.Open = 開啟(&O)
|
||||
Menu.OpenAll = 開啟所有使用者(&P)
|
||||
Menu.OpenPinned = Open Pinned
|
||||
Menu.Explore = 檔案總管(&E)
|
||||
Menu.ExploreAll = 瀏覽所有使用者(&X)
|
||||
Menu.MenuSettings = 設定
|
||||
|
||||
@@ -21,5 +21,5 @@ deploy:
|
||||
on:
|
||||
APPVEYOR_ACCOUNT_NAME: passionate-coder
|
||||
auth_token:
|
||||
secure: D0QZnRZfea3qJlWOwrxE6M2jrbiSrOfz/6U7RzdeeG8N0qNDFKI7LFjYyw2I/PcR
|
||||
secure: SOu6Y71k0oIxXJR35x+7ZTrqDa3HqUM4kLNJc+DbohPz9zhVHh9O8QYwmI7LI0qslug5L11fo9pZVfVgZttw4eBgooHaX9TNBTTA6sJItkXqMX+M6mKAG7tbI/O3Eg0v
|
||||
prerelease: true
|
||||
|
||||
Reference in New Issue
Block a user