Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58b909037f | ||
|
|
146c27ecd2 | ||
|
|
4943938d0f | ||
|
|
d5c561720d | ||
|
|
58d804d22a | ||
|
|
a280fa92e1 | ||
|
|
f22f10c7d5 | ||
|
|
faf79de4d5 | ||
|
|
552fbd8296 | ||
|
|
055ac87039 | ||
|
|
d82fadb926 | ||
|
|
31acb6b092 | ||
|
|
077afd2377 | ||
|
|
680e6eedbb | ||
|
|
f60e2a18cb | ||
|
|
4e7ca97def | ||
|
|
348d8fa54e | ||
|
|
5809217adc | ||
|
|
b17d08b7a6 | ||
|
|
cc3336ea26 | ||
|
|
32c75254b9 | ||
|
|
0aa78709e6 | ||
|
|
040d3d08d3 | ||
|
|
7770e3b98b | ||
|
|
211d12be70 | ||
|
|
ccf14504c9 | ||
|
|
d105c2567e | ||
|
|
7e83c56d80 | ||
|
|
8359cfcc81 | ||
|
|
aac293832c | ||
|
|
422b0481bc |
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/
|
||||
|
||||
@@ -23,6 +23,9 @@ You can find the latest stable version here:
|
||||
|
||||
[](https://github.com/Open-Shell/Open-Shell-Menu/releases/latest)
|
||||
|
||||
### ⚠️ Windows for ARM compatibility ⚠️
|
||||
Open-Shell is not compatible with Windows for ARM. If you install it on a Windows for ARM installation (ex. using Parallels Desktop on an Apple Silicon Mac), you will no longer be able to log into your account the next time you reboot. Please refrain from installing Open-Shell on Windows for ARM.
|
||||
|
||||
### Temporary Translation/Language Solution
|
||||
1. Download [language DLL](https://coddec.github.io/Classic-Shell/www.classicshell.net/translations/index.html)
|
||||
2. Place it either in the Open-Shell's __install folder__ or in the `%ALLUSERSPROFILE%\OpenShell\Languages` folder
|
||||
|
||||
@@ -10,7 +10,7 @@ Visual Studio 2022 (Community Edition is enough)
|
||||
- Windows 11 SDK (10.0.22621.0) for Desktop C++
|
||||
- Visual C++ ATL support
|
||||
HTML Help Workshop
|
||||
WiX 3.11
|
||||
WiX 3.14
|
||||
7-Zip
|
||||
It is possible to convert the projects to newer versions of Visual Studio and newer SDKs.
|
||||
Newer versions of WiX will probably work fine.
|
||||
|
||||
@@ -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>
|
||||
@@ -243,7 +243,7 @@ LRESULT CALLBACK CExplorerBHO::HookExplorer( int nCode, WPARAM wParam, LPARAM lP
|
||||
if (GetClassName(parent,name,_countof(name)) && _wcsicmp(name,L"CabinetWClass")==0)
|
||||
{
|
||||
DWORD_PTR settings=0;
|
||||
if (GetWinVersion()==WIN_VER_WIN7 && GetSettingBool(L"FixFolderScroll"))
|
||||
if (GetSettingBool(L"FixFolderScroll"))
|
||||
settings|=1;
|
||||
SetWindowSubclass(hWnd,SubclassTreeProc,'CLSH',settings);
|
||||
PostMessage(hWnd,TVM_SETEXTENDEDSTYLE,TVS_EX_FADEINOUTEXPANDOS|TVS_EX_AUTOHSCROLL|0x80000000,0);
|
||||
|
||||
@@ -621,7 +621,7 @@ void UpdateSettings( void )
|
||||
|
||||
UpdateSetting(L"ShowCaption",CComVariant(0),false); HideSetting(L"ShowCaption",true);
|
||||
UpdateSetting(L"ShowIcon",CComVariant(0),false); HideSetting(L"ShowIcon",true);
|
||||
UpdateSetting(L"FixFolderScroll",CComVariant(0),false); HideSetting(L"FixFolderScroll",true);
|
||||
UpdateSetting(L"FixFolderScroll",CComVariant(0),false);
|
||||
UpdateSetting(L"ToolbarItems",CComVariant(g_DefaultToolbar2),false);
|
||||
|
||||
if (GetWinVersion()>=WIN_VER_WIN10)
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -190,3 +190,4 @@ StartHoverDelay.nameOverride = Délai du survol (pour le bouton Démarrer)
|
||||
AllProgramsDelay.nameOverride = Délai du survol (Pour Tous les Programmes dans Windows 7)
|
||||
CSMHotkey.tipAddition = .\n\nLa valeur de base est le code virtuel principal de la touche. Ajouter 256 pour Maj, 512 pour Contrôle et 1024 pour and 1024 Alt.\nLa meilleur façon pour obtenir la valeur est de sélectionnez la touche raccourcie dans le boîte de dialogue des Paramètres et de chercher la valeur nommée CSMHotkey dans HKCU\Software\OpenShell\StartMenu\Settings
|
||||
WSMHotkey.tipAddition = .\n\nLa valeur de base est le code virtuel principal de la touche. Ajouter 256 pour Maj, 512 pour Contrôle et 1024 pour and 1024 Alt.\nLa meilleur façon pour obtenir la valeur est de sélectionnez la touche raccourcie dans le boîte de dialogue des Paramètres et de chercher la valeur nommée WSMHotkey in HKCU\Software\OpenShell\StartMenu\Settings
|
||||
SearchFiles.tipOverride = Lorsque cette case est cochée, les résultats de la recherche incluront les fichiers, e-mails et autres éléments provenant d'emplacements indexés
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
; TRANSLATE ===================================================================
|
||||
|
||||
Title.text = Paramètres Open-Shell
|
||||
State.text = Etat:
|
||||
State.text = État:
|
||||
State1.text = Verrouillé sur cette valeur
|
||||
State2.text = Verrouillé sur le paramètre par défaut
|
||||
State3.text = Déverrouillé
|
||||
@@ -13,7 +13,7 @@ OpenShellCat.text = Open-Shell
|
||||
OpenShellCatHelp.text = Paramètres de la stratégie de groupe de Open-Shell
|
||||
SUPPORTED_CS404.text = Nécessite Open-Shell 4.0.4 ou plus.
|
||||
|
||||
Language.nameOverride = Langage pour les composants Open-Shell
|
||||
Language.tipOverride = Sélectionnez la langue pour être utilisée avec Open-Shell (par exemple en-US ou de-DE). La langue affectera le texte dans le menu démarrer, les barres d'outils, etc. Si la DLL de langue appropriée est installée, les paramètres UI peuvent aussi être traduits
|
||||
Language.nameOverride = Langue pour les composants Open-Shell
|
||||
Language.tipOverride = Sélectionnez la langue à utiliser avec Open-Shell (par exemple en-US ou de-DE). Le choix de langue affectera le texte dans le menu démarrer, les barres d'outils, etc. Si la DLL de langue appropriée est installée, les paramètres UI peuvent aussi être traduits
|
||||
Update.nameOverride = Activer la vérification automatique de nouvelles versions
|
||||
Update.tipOverride = Lorsque ceci est coché, Open-Shell vérifiera s'il y a des nouvelles versions chaque semaine. Vous serez averti s'il y a une nouvelle version du logiciel ou une mise à jour pour votre langage actuel
|
||||
Update.tipOverride = Lorsque ceci est coché, Open-Shell vérifiera s'il y a des nouvelles versions chaque semaine. Vous serez averti s'il y a une nouvelle version du logiciel ou une mise à jour pour votre langue actuelle
|
||||
|
||||
@@ -37,13 +37,13 @@ est un menu démarrer flexible qui peut mimiquer l’attitude du menu
|
||||
<li>Afficher les documents récemment utilisés. Le nombre de documents à afficher et personnalisable</li>
|
||||
<li>Traduit dans 35 langues, incluant le support Droite-Gauche pour l’Arabe et l’Hébreux</li>
|
||||
<li>Ne désactive pas le menu démarrer orginal de Windows. You can access it by Maj+Clic sur le bouton du menu</li>
|
||||
<li>Clic droit sur un élément du menu pour le supprimer, le renomer, le trier, ou effectuer d’autres tâches</li>
|
||||
<li>Clic droit sur un élément du menu pour le supprimer, le renomer, le trier, ou effectuer d’autres tâches</li>
|
||||
<li>La boîte de recherche vous aide à trouver les logiciels et fichiers sans avoir à utiliser vos raccourcis claviers</li>
|
||||
<li>Support des listes de raccourcis pour un accès rapide aux documents récents et tâches courantes</li>
|
||||
<li>Disponible pour les systèmes d'exploitation 32 et 64-bit</li>
|
||||
<li>Support des listes de raccourcis pour un accès rapide aux documents récents et tâches courantes</li>
|
||||
<li>Disponible pour les systèmes d’exploitation 32 et 64-bit</li>
|
||||
<li>Supporte les peaux (skins), incluant aditionnellement les peaux (skins) de tierces parties. Créez la vôtre !!</li>
|
||||
<li>Entièrement personnalisable autant pour le look que pour les fonctionnalités</li>
|
||||
<li>Support pour l'Active Accéssibilité de Microsoft (Microsoft’s Active Accessibility)</li>
|
||||
<li>Support pour l’Active Accéssibilité de Microsoft (Microsoft’s Active Accessibility)</li>
|
||||
<li>Convertit le bouton “Tous les Programmes” de menu Windows en menu cascadé</li>
|
||||
<li>Implémente un bouton démarrer personnalisable<br>
|
||||
</li>
|
||||
@@ -58,24 +58,24 @@ est un menu démarrer flexible qui peut mimiquer l’attitude du menu
|
||||
Le menu démarrer offre 3 choix de styles.<br>
|
||||
<h3>1) Simple colonne style classique (classic)</h3>
|
||||
<img src="images/style1.png" style="width: 557px; height: 804px;" alt=""><br>
|
||||
Ce style est très similaire au menu trouvé dans Windows 2000. Il a une colonne dans le menu principal avec du texte vertical sur le côté, vous pouvez personnaliser l'ordre des éléments, icônes et texte.<br>
|
||||
Ce style est très similaire au menu trouvé dans Windows 2000. Il a une colonne dans le menu principal avec du texte vertical sur le côté, vous pouvez personnaliser l’ordre des éléments, icônes et texte.<br>
|
||||
|
||||
Programmes, listes de raccourcis, et résultats de recherche s'affichent comme des sous-menus cascadés.<br>
|
||||
Programmes, listes de raccourcis, et résultats de recherche s’affichent comme des sous-menus cascadés.<br>
|
||||
|
||||
<br>
|
||||
<h3>2) Style classique (classic) 2 colonnes</h3>
|
||||
<img src="images/style2.png" style="width: 491px; height: 711px;" alt=""><br>
|
||||
Ceci est similaire au menu de Windows XP. Il y a 2 colonnes où vous pouvez arranger vos éléments de menu.
|
||||
Personnaliser leurs ordres, icônes et texte.<br>
|
||||
Programmes, listes de raccourcis, et résultats de recherche s'affichent comme des sous-menus cascadés.<br>
|
||||
Programmes, listes de raccourcis, et résultats de recherche s’affichent comme des sous-menus cascadés.<br>
|
||||
<br>
|
||||
<h3>3) Style Windows 7<br>
|
||||
</h3>
|
||||
<img src="images/style3.png" style="width: 494px; height: 630px;" alt=""><br>
|
||||
Ceci est similaire au menu Windows Vista et Windows 7. Les éléments dans la première colonne sont prédéfinis comme épingler et Programmes Récents, la liste de Tous les Programmes et la zone de recherche.
|
||||
Les éléments dans la seconde colonne sont entièrement personnalisable.<br>
|
||||
Les listes de raccourcis et les résultats de recherche sont affichés à l'intérieur du menu principal. Les programmes peuvent être à l'intérieur du menu principal ou
|
||||
s'afficher sous la forme d’un sous-menu cascadé.<br>
|
||||
Les listes de raccourcis et les résultats de recherche sont affichés à l’intérieur du menu principal. Les programmes peuvent être à l’intérieur du menu principal ou
|
||||
s’afficher sous la forme d’un sous-menu cascadé.<br>
|
||||
Ce style offre moins d’ options de personnalisation que les styles classiques (classic), mais donne une apparence et un sentiment plus familier aux personnes ayant utilisé Windows 7.<br>
|
||||
<br>
|
||||
<br>
|
||||
@@ -87,16 +87,16 @@ Si vous avez utilisé le menu démarrer dans les anciennes versions
|
||||
<p>
|
||||
Appuyez sur la touche Windows ou cliquez sur l’ orbe de Open-Shell dans le coin de l’ écran pour ouvrir le menu démarrer.</p>
|
||||
<p>
|
||||
Maintenez Majuscule enfoncée pendant que vous cliquez sur l’ orbe de Open-Shell pour accéder au menu démarrer d'origine du système d'exploitation.
|
||||
Maintenez Majuscule enfoncée pendant que vous cliquez sur l’ orbe de Open-Shell pour accéder au menu démarrer d’origine du système d’exploitation.
|
||||
</p>
|
||||
<p>
|
||||
Cliquez sur un élément pour l'exécuter.
|
||||
Cliquez sur un élément pour l’exécuter.
|
||||
</p>
|
||||
<p>
|
||||
Glissez un programme pour changer l'ordre des programmes dans un menu, ou pour le déplacer dans un autre dossier.
|
||||
Glissez un programme pour changer l’ordre des programmes dans un menu, ou pour le déplacer dans un autre dossier.
|
||||
</p>
|
||||
<p>
|
||||
Clic droit sur un élément pour le renomer, le supprimer, l’explorer, trier le menu, ou effectuer d'autres tâches.</p>
|
||||
Clic droit sur un élément pour le renomer, le supprimer, l’explorer, trier le menu, ou effectuer d’autres tâches.</p>
|
||||
<p>
|
||||
Clic droit sur l’orbe de Open-Shell pour modifier les paramètres du menu démarrer, pour voir ce fichier d’aide, ou pour stopper le menu démarrer.<br>
|
||||
</p>
|
||||
@@ -109,7 +109,7 @@ Paramètres</h1>Clic droit sur le menu démarrer pour accéder
|
||||
<img src="images/settings1.png" style="width: 688px; height: 572px;" alt=""><br>
|
||||
<br>
|
||||
Vous pouvez choisir d'afficher les paramètres de base ou tous les paramètres disponibles. Survolez chaque paramètre pour obtenir une description de sa fonction.
|
||||
Saisissez un mot dans la zone de recherche pour trouver un paramètre grâce à son nom.<br>
|
||||
Saisissez un mot dans la zone de recherche pour trouver un paramètre grâce à son nom.<br>
|
||||
|
||||
Chaque paramètre à une valeur par défaut. La valeur par défaut peut-être une constante, ou elle peut dépendre des paramètres systèmes actuels.
|
||||
Une fois que vous modifiez un paramètre, celui-ci devient "modifié" et est affiché en gras. Pour revenir au paramètre par défaut, clic droit sur le paramètre.<br>
|
||||
@@ -184,7 +184,7 @@ Dans certains cas vous ne voudrez peut être pas verrouiller une valeur pou
|
||||
nom de la valeur. Par exemple si vous voulez que le menu contextuel soit désactivé par défaut mais que vous voulez autoriser les utilisateurs à modifier cette valeur s’ils le veulent, créez
|
||||
une valeur DWORD nommée "EnableContextMenu_Default" et configurez là à 0.<br>
|
||||
<br>
|
||||
La façon la plus facile de connaître le nom registrerie d'un paramètre et ça valeur pour la modifier, est de la rechercher dans <span style="font-weight: bold;">HKEY_CURRENT_USER\Software\OpenShell\StartMenu\Settings</span>.<br>
|
||||
La façon la plus facile de connaître le nom registrerie d’un paramètre et ça valeur pour la modifier, est de la rechercher dans <span style="font-weight: bold;">HKEY_CURRENT_USER\Software\OpenShell\StartMenu\Settings</span>.<br>
|
||||
|
||||
Quelqes fois vous voudrez verrouiller un paramètre à sa valeur par défaut, mais vous ne savez quelle est la valeur par défaut. Dans ce cas créez une valeur DWORD et
|
||||
configurez là à 0xDEFA.<br>
|
||||
@@ -194,7 +194,7 @@ Il y a aussi un paramètre global "EnableSettings". Configurez l
|
||||
|
||||
<img style="width: 656px; height: 292px;" alt="" src="images/settings_disable_sm.png"><br>
|
||||
<br>
|
||||
Le menu démarrer vérifie aussi la plupart des stratégies de groupe configurées par l’administrateur. Exécutez <strong style="color: rgb(0, 112, 192);">gpedit.msc</strong> et aller à <strong style="color: rgb(0, 112, 192);">Configuration User Configuration -> Modèles Administratifs -> Menu Démarrer et Barre des Tâches</strong>. A partir de là, vous pouvez désactiver Exécuter, Arrêter, Aide, et d'autres fonctions. <span style="font-style: italic;">(Non disponible sur les version Home de Windows)</span>.<br>
|
||||
Le menu démarrer vérifie aussi la plupart des stratégies de groupe configurées par l’administrateur. Exécutez <strong style="color: rgb(0, 112, 192);">gpedit.msc</strong> et aller à <strong style="color: rgb(0, 112, 192);">Configuration User Configuration -> Modèles Administratifs -> Menu Démarrer et Barre des Tâches</strong>. A partir de là, vous pouvez désactiver Exécuter, Arrêter, Aide, et d’autres fonctions. <span style="font-style: italic;">(Non disponible sur les version Home de Windows)</span>.<br>
|
||||
<br>
|
||||
Modifier les paramètres au travers des stratégies de groupe est aussi supporté. Décompressez le fichier <b>PolicyDefinitions.zip</b> qui se trouve dans le dossier d’installation et lisez le document <b>PolicyDefinitions.rtf</b> pour plus de détails.<br>
|
||||
<br>
|
||||
@@ -208,24 +208,24 @@ Après avoir télécharger une nouvelle peau (skin) vous devez
|
||||
Files\Open-Shell\Skins</span>. Après cela, elle sera disponible dans les paramètres.<br>
|
||||
<br>
|
||||
<strong>Note:</strong> Certaines peaux (skins) peuvent être spécifiquement conçues pour le mode
|
||||
Classic, Basic, ou Aero. Par exemple une peau (skin) Aero nécessitera peut être le support de l'option verre, les autres auront une apparence bizarre si le thème Classique (Classic) ou Base (Basic) est sélectionné. Certaines peaux (skins) Aero nécessiteront aussi peut être une couleur de verre spécifique à sélectionner.<br>
|
||||
Classic, Basic, ou Aero. Par exemple une peau (skin) Aero nécessitera peut être le support de l’option verre, les autres auront une apparence bizarre si le thème Classique (Classic) ou Base (Basic) est sélectionné. Certaines peaux (skins) Aero nécessiteront aussi peut être une couleur de verre spécifique à sélectionner.<br>
|
||||
<br>
|
||||
Vous pouvez créer votre propre peau (skin). Vous aurez besoin d'un logiciel de retouche d’image qui supporte le canal Alpha (comme Gimp ou Photoshop) et un outil pour modifier les fichiers ressources (comme Resource Hacker ou Visual Studio). Et bien sûr quelques talents en conception de graphisme :). Lisez le <a target="_blank" href="http://www.classicshell.net/tutorials/skintutorial.html">Tutoriel de peaux (Skinning Tutorial) en anglais</a> avant de commencer.<br>
|
||||
Vous pouvez créer votre propre peau (skin). Vous aurez besoin d’un logiciel de retouche d’image qui supporte le canal Alpha (comme Gimp ou Photoshop) et un outil pour modifier les fichiers ressources (comme Resource Hacker ou Visual Studio). Et bien sûr quelques talents en conception de graphisme :). Lisez le <a target="_blank" href="http://www.classicshell.net/tutorials/skintutorial.html">Tutoriel de peaux (Skinning Tutorial) en anglais</a> avant de commencer.<br>
|
||||
<br>
|
||||
<br><br>
|
||||
<h1><a name="search"></a>Recherche</h1><img src="images/search1.png" style="width: 450px; height: 548px;" alt=""><br>
|
||||
<br>
|
||||
La zone de recherche vous laisse rechercher du contenu dans le menu démarrer, les programmes qui se trouvent dans la variable d'environnement PATH et les fichiers indexés.
|
||||
Vous pouvez avoir la zone de recherche apparaître sous forme d'élément de menu normal et ensuite vous pouvez y aller en utilisant les touches claviers flèches haut/bas.
|
||||
Vous pouvez choisir d'avoir la zone de recherche sélectionné par défaut quand vous ouvrez le menu démarrer. Ou vous pouvez choisir d’activer la zone de recherche seulement avec la touche Tab, de façon que tant que vous n'utilisez pas la touche tab vous pouvez utiliser le clavier pour naviguer comme si la zone de recherche n'était pas là.<br>
|
||||
La zone de recherche vous laisse rechercher du contenu dans le menu démarrer, les programmes qui se trouvent dans la variable d’environnement PATH et les fichiers indexés.
|
||||
Vous pouvez avoir la zone de recherche apparaître sous forme d’élément de menu normal et ensuite vous pouvez y aller en utilisant les touches claviers flèches haut/bas.
|
||||
Vous pouvez choisir d’avoir la zone de recherche sélectionné par défaut quand vous ouvrez le menu démarrer. Ou vous pouvez choisir d’activer la zone de recherche seulement avec la touche Tab, de façon que tant que vous n’utilisez pas la touche tab vous pouvez utiliser le clavier pour naviguer comme si la zone de recherche n’était pas là.<br>
|
||||
<br>
|
||||
Les résultats de recherche s'affichent dans le menu principal si vous utilisez le style Windows 7 ou dans un sous-menu pour les styles Classiques (Classic).<br>
|
||||
Cliquez sur chaque catégorie pour la développer et voir plus de résultats. Cliquez sur l’icône à la fin pour voir tous les résultats dans l’Explorateur.<br>
|
||||
<br>
|
||||
Les styles Classiques (Classic) vous permettent de configurer des "fournisseurs de recherche" additionnels, que vous pouvez utiliser pour rechercher du texte à partir de la zone de recherche. Vous pouvez exécuter ce programme de recherche soit en le sélectionnant à partir du menu, soit en appuyant sur la touche Alt. Dans cet exemple utilisez Alt+A pour l'Agent Ransack.<br>
|
||||
Les styles Classiques (Classic) vous permettent de configurer des "fournisseurs de recherche" additionnels, que vous pouvez utiliser pour rechercher du texte à partir de la zone de recherche. Vous pouvez exécuter ce programme de recherche soit en le sélectionnant à partir du menu, soit en appuyant sur la touche Alt. Dans cet exemple utilisez Alt+A pour l’Agent Ransack.<br>
|
||||
<img src="images/search2.png" style="width: 732px; height: 432px;" alt=""><br>
|
||||
<br>
|
||||
Ceci est fait en ajoutant des sous-éléments à l'élément zone de recherche dans l’onglet <span style="font-weight: bold;">Personnaliser le Menu Démarrer</span> :<br>
|
||||
Ceci est fait en ajoutant des sous-éléments à l’élément zone de recherche dans l’onglet <span style="font-weight: bold;">Personnaliser le Menu Démarrer</span> :<br>
|
||||
<img src="images/search3.png" style="width: 351px; height: 212px;" alt=""><br>
|
||||
<br>
|
||||
Ouvrez chaque sous-élément et saisissez la commande pour démarrer le programme de recherche. Si vous utilisez <span style="font-weight: bold;">%1</span> dans la commande, cela sera remplacé par le contenu de la zone de recherche. Si vous utilisez <span style="font-weight: bold;">%2</span> cela sera remplacé par le texte de la zone de recherche encodé au format url.
|
||||
@@ -240,7 +240,7 @@ Recherche avec Bing : <span style="font-weight: bold;">http://www.bing.com/searc
|
||||
<br>
|
||||
<br>
|
||||
<h1><a name="button"></a>Bouton Démarrer Personnalisable<br>
|
||||
</h1>Open-Shell peut ajouter son propre bouton démarrer à la barre des tâches. Il peut même remplacer le bouton démarrer par défaut de Windows 7.
|
||||
</h1>Open-Shell peut ajouter son propre bouton démarrer à la barre des tâches. Il peut même remplacer le bouton démarrer par défaut de Windows 7.
|
||||
Vous pouvez choisir entre un bouton orbe style Aero, un bouton classique rectangulaire, ou vous pouvez faire le vôtre. Pour un bouton démarrer personnalisé vous avez besoin
|
||||
d’une image qui contient 3 états du bouton - normal, chaud et cliqué :<br>
|
||||
<img src="images%5Cbutton_images.png" style="width: 64px; height: 192px;" alt="Images du bouton démarrer" title="Images du bouton démarrer"><br>
|
||||
|
||||
@@ -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" />
|
||||
@@ -538,11 +566,11 @@
|
||||
</Component>
|
||||
<Component Id="Immersive.skin" Guid="045C48C3-FE11-4C66-AD7F-3F3EE35B4DEA" Win64="$(var.CS_WIN64)">
|
||||
<File Id="Immersive.skin" KeyPath="yes" Checksum="yes" Source="Output\Immersive.skin" Vital="yes" />
|
||||
<Condition>WINDOWSBUILDNUM>10000</Condition>
|
||||
<Condition>VersionNT>601</Condition>
|
||||
</Component>
|
||||
<Component Id="Immersive.skin7" Guid="FFECA17A-C005-4D84-9F7C-DBC8EA2E1B5A" Win64="$(var.CS_WIN64)">
|
||||
<File Id="Immersive.skin7" KeyPath="yes" Checksum="yes" Source="Output\Immersive.skin7" Vital="yes" />
|
||||
<Condition>WINDOWSBUILDNUM>10000</Condition>
|
||||
<Condition>VersionNT>601</Condition>
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<DirectoryRef Id="TARGETDIR">
|
||||
@@ -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
@@ -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>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
@echo off
|
||||
set PATH=C:\Program Files\7-Zip\;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\WiX Toolset v3.11\bin\;%PATH%
|
||||
set PATH=C:\Program Files\7-Zip\;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\WiX Toolset v3.14\bin\;%PATH%
|
||||
|
||||
cd %~dp0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@echo off
|
||||
rem This file is to create all the files required for a new release to publish
|
||||
|
||||
set PATH=C:\Program Files\7-Zip\;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\WiX Toolset v3.11\bin\;%PATH%
|
||||
set PATH=C:\Program Files\7-Zip\;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\WiX Toolset v3.14\bin\;%PATH%
|
||||
|
||||
cd %~dp0
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -136,6 +136,8 @@ static void CreateAppResolver( void )
|
||||
|
||||
static bool DetectGrayscaleImage( const unsigned int *bits, int stride, int width, int height )
|
||||
{
|
||||
if (width==0 || height==0)
|
||||
return false;
|
||||
int transparent=0;
|
||||
for (int y=0;y<height;y++,bits+=stride)
|
||||
{
|
||||
|
||||
@@ -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 );
|
||||
@@ -603,6 +605,11 @@ UINT GetTaskbarPosition( HWND taskBar, MONITORINFO *pInfo, HMONITOR *pMonitor, R
|
||||
SHAppBarMessage(ABM_GETTASKBARPOS,&appbar);
|
||||
if (pRc)
|
||||
{
|
||||
if (RECT rc; GetWindowRgnBox(taskBar,&rc)!=ERROR)
|
||||
{
|
||||
MapWindowPoints(taskBar,NULL,(POINT*)&rc,2);
|
||||
appbar.rc=rc;
|
||||
}
|
||||
*pRc=appbar.rc;
|
||||
RECT rc;
|
||||
GetWindowRect(taskBar,&rc);
|
||||
@@ -1211,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())
|
||||
@@ -1218,6 +1238,14 @@ static void UpdateStartButtonPosition(const TaskbarInfo* taskBar, const WINDOWPO
|
||||
|
||||
RECT rcTask;
|
||||
GetWindowRect(taskBar->taskBar, &rcTask);
|
||||
if (IsTouchTaskbar())
|
||||
{
|
||||
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);
|
||||
DWORD buttonFlags = SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE;
|
||||
@@ -1316,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);
|
||||
}
|
||||
|
||||
@@ -2746,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)
|
||||
@@ -2891,6 +2930,12 @@ static void OpenCortana( void )
|
||||
|
||||
static void InitStartMenuDLL( void )
|
||||
{
|
||||
static bool initCalled = false;
|
||||
if (initCalled)
|
||||
return;
|
||||
|
||||
initCalled = true;
|
||||
|
||||
LogToFile(STARTUP_LOG, L"StartMenu DLL: InitStartMenuDLL");
|
||||
WaitDllInitThread();
|
||||
|
||||
@@ -2924,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);
|
||||
|
||||
@@ -2943,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);
|
||||
}
|
||||
|
||||
{
|
||||
@@ -3074,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);
|
||||
@@ -3163,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3192,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;
|
||||
@@ -3260,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;
|
||||
|
||||
@@ -1239,8 +1239,8 @@ BEGIN
|
||||
IDS_SHOW_APPS_MENU_TIP2 "Enable the Apps menu\nWarning: You don't have the Apps item in your custom menu, so this setting will be ignored"
|
||||
IDS_SKIN_ERR_METRO_COLOR
|
||||
"The selected skin is not compatible with Windows 7.\r\n"
|
||||
IDS_BUTTON_ALIGN "Align to corner of the screen"
|
||||
IDS_BUTTON_ALIGN_TIP "When this is checked, the button will be aligned to the corner of the screen instead of the middle of the taskbar"
|
||||
IDS_BUTTON_ALIGN "Align to edge of taskbar"
|
||||
IDS_BUTTON_ALIGN_TIP "When this is checked, the button will be aligned to the edge the taskbar instead of the middle of the taskbar"
|
||||
IDS_MENU_GLASS2 "Enable menu glass"
|
||||
IDS_MENU_GLASS2_TIP "Check this to use glass transparency in the menu"
|
||||
IDS_GLASS_OPACITY "Glass opacity"
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 31 KiB |
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -327,9 +342,15 @@ static std::vector<std::vector<uint8_t>> ParseModernSettings()
|
||||
doc->put_async(VARIANT_FALSE);
|
||||
|
||||
wchar_t path[MAX_PATH]{};
|
||||
wcscpy_s(path, LR"(%windir%\ImmersiveControlPanel\Settings\AllSystemSettings_{253E530E-387D-4BC2-959D-E6F86122E5F2}.xml)");
|
||||
wcscpy_s(path, LR"(%windir%\ImmersiveControlPanel\Settings\AllSystemSettings_{FDB289F3-FCFC-4702-8015-18926E996EC1}.xml)");
|
||||
DoEnvironmentSubst(path, _countof(path));
|
||||
|
||||
if (!PathFileExists(path))
|
||||
{
|
||||
wcscpy_s(path, LR"(%windir%\ImmersiveControlPanel\Settings\AllSystemSettings_{253E530E-387D-4BC2-959D-E6F86122E5F2}.xml)");
|
||||
DoEnvironmentSubst(path, _countof(path));
|
||||
}
|
||||
|
||||
VARIANT_BOOL loaded;
|
||||
if (SUCCEEDED(doc->load(CComVariant(path), &loaded)) && loaded)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
@@ -3723,7 +3749,7 @@ Menu.RestartUpdate = Atualizar e reiniciar
|
||||
Menu.Sleep = &Dormir
|
||||
Menu.Hibernate = &Hibernar
|
||||
Menu.ControlPanel = &Painel de controle
|
||||
Menu.PCSettings = Configurações do computador
|
||||
Menu.PCSettings = Configurações
|
||||
Menu.Security = Segurança do Windows
|
||||
Menu.Network = Co&nexões de Rede
|
||||
Menu.Printers = &Impressoras
|
||||
@@ -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
|
||||
|
||||