* Rebrand to Open-Shell * Slight installer branding improvement
25
Src/Setup/BuildArchives.bat
Normal file
@@ -0,0 +1,25 @@
|
||||
REM ***** Collect PDBs
|
||||
|
||||
echo -- Creating symbols package
|
||||
set CS_SYMBOLS_NAME=OpenShellPDB_%CS_VERSION_STR%.7z
|
||||
|
||||
cd Output
|
||||
7z a -mx9 ..\Final\%CS_SYMBOLS_NAME% PDB32 PDB64 > nul
|
||||
cd ..
|
||||
|
||||
if defined APPVEYOR (
|
||||
appveyor PushArtifact Final\%CS_SYMBOLS_NAME%
|
||||
)
|
||||
|
||||
cd ..
|
||||
|
||||
REM ***** Collect Localization files
|
||||
|
||||
echo -- Creating localization package
|
||||
cd Localization
|
||||
7z a -r -x!en-US -x!*WixUI_en-us.wxl -x!*.adml -x!*.admx -x!*LocComments.txt ..\Setup\Final\OpenShellLoc.zip English ..\ClassicExplorer\ExplorerL10N.ini ..\StartMenu\StartMenuL10N.ini ..\StartMenu\StartMenuHelper\StartMenuHelperL10N.ini English\OpenShellText-en-US.wxl English\OpenShellEULA.rtf > nul
|
||||
cd ..
|
||||
|
||||
cd Setup
|
||||
|
||||
exit /b 0
|
||||
147
Src/Setup/BuildBinaries.bat
Normal file
@@ -0,0 +1,147 @@
|
||||
if exist Output rd /Q /S Output
|
||||
md Output
|
||||
md Output\x64
|
||||
md Output\PDB32
|
||||
md Output\PDB64
|
||||
|
||||
echo -- Compiling
|
||||
|
||||
for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath`) do set MSBuildDir=%%i\MSBuild\15.0\Bin\
|
||||
|
||||
REM ********* Build 64-bit solution
|
||||
echo --- 64bit
|
||||
"%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 32-bit solution (must be after 64-bit)
|
||||
echo --- 32bit
|
||||
"%MSBuildDir%MSBuild.exe" ..\OpenShell.sln /m /t:Rebuild /p:Configuration="Setup" /p:Platform="Win32" /verbosity:quiet /nologo
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
|
||||
REM ********* Make en-US.dll
|
||||
cd ..
|
||||
Setup\Utility\Release\Utility.exe makeEN ClassicExplorer\Setup\ClassicExplorer32.dll StartMenu\Setup\StartMenuDLL.dll ClassicIE\Setup\ClassicIEDLL_32.dll Update\Release\Update.exe
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
Setup\Utility\Release\Utility.exe extract en-US.dll en-US.csv
|
||||
copy /B en-US.dll Localization\English > nul
|
||||
move en-US.csv Localization\English > nul
|
||||
|
||||
cd Setup
|
||||
|
||||
|
||||
REM ********* Copy binaries
|
||||
|
||||
copy /B ..\ClassicExplorer\Setup\ClassicExplorer32.dll Output > nul
|
||||
copy /B ..\ClassicExplorer\Setup\ClassicExplorerSettings.exe Output > nul
|
||||
copy /B ..\ClassicIE\Setup\ClassicIEDLL_32.dll Output > nul
|
||||
copy /B ..\ClassicIE\Setup\ClassicIE_32.exe Output > nul
|
||||
copy /B ..\StartMenu\Setup\StartMenu.exe Output > nul
|
||||
copy /B ..\StartMenu\Setup\StartMenuDLL.dll Output > nul
|
||||
copy /B ..\Update\Release\Update.exe Output > nul
|
||||
copy /B ..\StartMenu\StartMenuHelper\Setup\StartMenuHelper32.dll Output > nul
|
||||
copy /B ..\Setup\SetupHelper\Release\SetupHelper.exe Output > nul
|
||||
|
||||
copy /B ..\ClassicExplorer\Setup64\ClassicExplorer64.dll Output\x64 > nul
|
||||
copy /B ..\ClassicIE\Setup64\ClassicIEDLL_64.dll Output\x64 > nul
|
||||
copy /B ..\ClassicIE\Setup64\ClassicIE_64.exe Output\x64 > nul
|
||||
copy /B ..\StartMenu\Setup64\StartMenu.exe Output\x64 > nul
|
||||
copy /B ..\StartMenu\Setup64\StartMenuDLL.dll Output\x64 > nul
|
||||
copy /B ..\StartMenu\StartMenuHelper\Setup64\StartMenuHelper64.dll Output\x64 > nul
|
||||
|
||||
copy /B "..\StartMenu\Skins\Classic Skin.skin" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Full Glass.skin" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Smoked Glass.skin" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Windows Aero.skin" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Windows Basic.skin" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Windows XP Luna.skin" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Windows 8.skin" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Metro.skin" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Classic Skin.skin7" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Windows Aero.skin7" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Windows 8.skin7" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Midnight.skin7" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Metro.skin7" Output > nul
|
||||
copy /B "..\StartMenu\Skins\Metallic.skin7" Output > nul
|
||||
|
||||
|
||||
REM ********* Collect debug info
|
||||
|
||||
REM Explorer 32
|
||||
copy /B ..\ClassicExplorer\Setup\ClassicExplorer32.pdb Output\PDB32 > nul
|
||||
copy /B Output\ClassicExplorer32.dll Output\PDB32 > nul
|
||||
copy /B ..\ClassicExplorer\Setup\ClassicExplorerSettings.pdb Output\PDB32 > nul
|
||||
copy /B Output\ClassicExplorerSettings.exe Output\PDB32 > nul
|
||||
|
||||
REM Explorer 64
|
||||
copy /B ..\ClassicExplorer\Setup64\ClassicExplorer64.pdb Output\PDB64 > nul
|
||||
copy /B Output\x64\ClassicExplorer64.dll Output\PDB64 > nul
|
||||
|
||||
REM IE 32
|
||||
copy /B ..\ClassicIE\Setup\ClassicIEDLL_32.pdb Output\PDB32 > nul
|
||||
copy /B Output\ClassicIEDLL_32.dll Output\PDB32 > nul
|
||||
copy /B ..\ClassicIE\Setup\ClassicIE_32.exe Output\PDB32 > nul
|
||||
copy /B Output\ClassicIE_32.exe Output\PDB32 > nul
|
||||
|
||||
REM IE 64
|
||||
copy /B ..\ClassicIE\Setup64\ClassicIEDLL_64.pdb Output\PDB64 > nul
|
||||
copy /B Output\x64\ClassicIEDLL_64.dll Output\PDB64 > nul
|
||||
copy /B ..\ClassicIE\Setup64\ClassicIE_64.exe Output\PDB64 > nul
|
||||
copy /B Output\x64\ClassicIE_64.exe Output\PDB64 > nul
|
||||
|
||||
REM Menu 32
|
||||
copy /B ..\StartMenu\Setup\Menu.pdb Output\PDB32 > nul
|
||||
copy /B Output\StartMenu.exe Output\PDB32 > nul
|
||||
copy /B ..\StartMenu\Setup\StartMenuDLL.pdb Output\PDB32 > nul
|
||||
copy /B Output\StartMenuDLL.dll Output\PDB32 > nul
|
||||
copy /B ..\StartMenu\StartMenuHelper\Setup\StartMenuHelper32.pdb Output\PDB32 > nul
|
||||
copy /B Output\StartMenuHelper32.dll Output\PDB32 > nul
|
||||
copy /B ..\Update\Release\Update.pdb Output\PDB32 > nul
|
||||
copy /B Output\Update.exe Output\PDB32 > nul
|
||||
|
||||
REM Menu 64
|
||||
copy /B ..\StartMenu\Setup64\Menu.pdb Output\PDB64 > nul
|
||||
copy /B Output\x64\StartMenu.exe Output\PDB64 > nul
|
||||
copy /B ..\StartMenu\Setup64\StartMenuDLL.pdb Output\PDB64 > nul
|
||||
copy /B Output\x64\StartMenuDLL.dll Output\PDB64 > nul
|
||||
copy /B ..\StartMenu\StartMenuHelper\Setup64\StartMenuHelper64.pdb Output\PDB64 > nul
|
||||
copy /B Output\x64\StartMenuHelper64.dll Output\PDB64 > nul
|
||||
|
||||
|
||||
REM ********* Source Index PDBs
|
||||
|
||||
set PDBSTR_PATH="C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\srcsrv\pdbstr.exe"
|
||||
|
||||
if exist %PDBSTR_PATH% (
|
||||
echo --- Adding source index to PDBs
|
||||
call CreateSourceIndex.bat ..\.. > Output\pdbstr.txt
|
||||
|
||||
for %%f in (Output\PDB32\*.pdb) do (
|
||||
%PDBSTR_PATH% -w -p:%%f -s:srcsrv -i:Output\pdbstr.txt
|
||||
)
|
||||
|
||||
for %%f in (Output\PDB64\*.pdb) do (
|
||||
%PDBSTR_PATH% -w -p:%%f -s:srcsrv -i:Output\pdbstr.txt
|
||||
)
|
||||
)
|
||||
|
||||
REM ********* Build ADMX
|
||||
echo --- ADMX
|
||||
if exist Output\PolicyDefinitions.zip (
|
||||
del Output\PolicyDefinitions.zip
|
||||
)
|
||||
cd ..\Localization\English
|
||||
..\..\StartMenu\Setup\StartMenu.exe -saveadmx en-US
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
..\..\ClassicExplorer\Setup\ClassicExplorerSettings.exe -saveadmx en-US
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
..\..\ClassicIE\Setup\ClassicIE_32.exe -saveadmx en-US
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
md en-US
|
||||
copy /B *.adml en-US > nul
|
||||
7z a ..\..\Setup\Output\PolicyDefinitions.zip *.admx en-US\*.adml PolicyDefinitions.rtf > nul
|
||||
rd /Q /S en-US
|
||||
cd ..\..\Setup
|
||||
|
||||
exit /b 0
|
||||
86
Src/Setup/BuildInstaller.bat
Normal file
@@ -0,0 +1,86 @@
|
||||
REM ********* Build Help
|
||||
echo -- Building Installer (%CS_LANG_NAME_SHORT%)
|
||||
@setlocal EnableDelayedExpansion
|
||||
@if %CS_HAS_HELP%==1 (
|
||||
echo --- HTML help
|
||||
SET CS_ERROR=0
|
||||
if NOT %CS_LANG_FOLDER%==English mklink /J ..\Localization\%CS_LANG_FOLDER%\images ..\Localization\English\images
|
||||
hhc ..\Localization\%CS_LANG_FOLDER%\OpenShell.hhp > nul
|
||||
@REM looks like hhc returns 0 for error, >0 for success
|
||||
@if NOT ERRORLEVEL 1 @SET CS_ERROR=1
|
||||
if NOT %CS_LANG_FOLDER%==English rmdir ..\Localization\%CS_LANG_FOLDER%\images
|
||||
@if !CS_ERROR!==1 exit /b 1
|
||||
)
|
||||
@endlocal
|
||||
@if %CS_HAS_HELP%==0 (
|
||||
copy /Y ..\Localization\English\OpenShell.chm ..\Localization\%CS_LANG_FOLDER%\OpenShell.chm > nul
|
||||
)
|
||||
|
||||
@if %CS_HAS_EULA%==0 copy /Y ..\Localization\English\OpenShellEULA.rtf ..\Localization\%CS_LANG_FOLDER% > nul
|
||||
@if %CS_HAS_README%==0 copy /Y ..\Localization\English\OpenShellReadme.rtf ..\Localization\%CS_LANG_FOLDER% > nul
|
||||
|
||||
@if _%CS_LANG_NAME%==_ echo Unrecognized language '%CS_LANG_FOLDER%'
|
||||
@if _%CS_LANG_NAME%==_ exit /b 1
|
||||
|
||||
SET CS_INSTALLER_NAME=OpenShellSetup_%CS_VERSION_STR%-%CS_LANG_NAME_SHORT%
|
||||
if %CS_LANG_NAME_SHORT%==en SET CS_INSTALLER_NAME=OpenShellSetup_%CS_VERSION_STR%
|
||||
|
||||
if exist Temp rd /Q /S Temp
|
||||
md Temp
|
||||
|
||||
@if not exist ..\Localization\%CS_LANG_FOLDER%\OpenShellText-%CS_LANG_NAME%.wxl exit /b 1
|
||||
|
||||
@REM Convvert CS_VERSION (X.Y.Z) into number (XXYYZZZZ)
|
||||
@set CS_VERSION_NUM=0
|
||||
@for /f "tokens=1,2,3 delims=." %%A in ("%CS_VERSION%") do (
|
||||
@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%
|
||||
@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\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%
|
||||
@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\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 MSI Checksums
|
||||
echo --- MSI Checksums
|
||||
Utility\Release\Utility.exe crcmsi Temp
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
REM ********* Build bootstrapper
|
||||
echo --- Bootstrapper
|
||||
for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath`) do set MSBuildDir=%%i\MSBuild\15.0\Bin\
|
||||
|
||||
"%MSBuildDir%MSBuild.exe" Setup.sln /m /t:Rebuild /p:Configuration="Release" /p:Platform="Win32" /verbosity:quiet /nologo
|
||||
@if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
if exist Final rd /Q /S Final
|
||||
md Final
|
||||
|
||||
copy /B Release\Setup.exe Final\%CS_INSTALLER_NAME%.exe > nul
|
||||
|
||||
if defined APPVEYOR (
|
||||
appveyor PushArtifact Release\Setup.exe -FileName %CS_INSTALLER_NAME%.exe
|
||||
)
|
||||
|
||||
SET CS_LANG_FOLDER=
|
||||
SET CS_LANG_NAME=
|
||||
SET CS_LANG_NAME_SHORT=
|
||||
|
||||
exit /b 0
|
||||
41
Src/Setup/CreateSourceIndex.bat
Normal file
@@ -0,0 +1,41 @@
|
||||
@echo off
|
||||
|
||||
rem CreateSourceIndex.bat <src-root-path>
|
||||
|
||||
rem Create source index (write to stdout)
|
||||
|
||||
rem Based on information provided here:
|
||||
rem https://gist.github.com/baldurk/c6feb31b0305125c6d1a
|
||||
|
||||
rem expand src root
|
||||
set SRC_ROOT=%~fdp1
|
||||
|
||||
rem get repo url
|
||||
for /f %%A in ('git remote get-url origin') do set REPO_URL=%%A
|
||||
rem remove .git from the end
|
||||
set REPO_URL=%REPO_URL:~0,-4%
|
||||
|
||||
rem get actual commit id
|
||||
for /f %%A in ('git rev-parse HEAD') do set COMMIT=%%A
|
||||
|
||||
echo SRCSRV: ini ------------------------------------------------
|
||||
echo VERSION=2
|
||||
echo VERCTRL=http
|
||||
echo SRCSRV: variables ------------------------------------------
|
||||
echo SRCSRVTRG=%REPO_URL%/raw/%COMMIT%/%%var2%%
|
||||
echo SRCSRV: source files ---------------------------------------
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
for /f %%A in ('git ls-tree --full-tree -r --name-only head') do (
|
||||
rem full path to source file
|
||||
set SRC_FILE=%SRC_ROOT%\%%A
|
||||
rem replace / by \
|
||||
set SRC_FILE=!SRC_FILE:/=\!
|
||||
rem convert to lowercase
|
||||
for %%C in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do set SRC_FILE=!SRC_FILE:%%C=%%C!
|
||||
rem <full-path-to-src>*<relative-repo-path>
|
||||
echo !SRC_FILE!*%%A
|
||||
)
|
||||
setlocal disabledelayedexpansion
|
||||
|
||||
echo SRCSRV: end ------------------------------------------------
|
||||
BIN
Src/Setup/OpenShell.ico
Normal file
|
After Width: | Height: | Size: 34 KiB |
439
Src/Setup/Setup.cpp
Normal file
@@ -0,0 +1,439 @@
|
||||
// Classic Shell (c) 2009-2017, Ivo Beltchev
|
||||
// Open-Shell (c) 2017-2018, The Open-Shell Team
|
||||
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
|
||||
|
||||
#define _WIN32_WINNT 0x0600
|
||||
#include <windows.h>
|
||||
#include <shlwapi.h>
|
||||
#include <stdio.h>
|
||||
#include <commctrl.h>
|
||||
#include <vector>
|
||||
#include "resource.h"
|
||||
#include "StringUtils.h"
|
||||
#include "FNVHash.h"
|
||||
|
||||
// Setup.exe is a bootstrap application that contains installers for 32-bit and 64-bit.
|
||||
// It unpacks the right installer into the temp directory and executes it.
|
||||
|
||||
typedef BOOL (WINAPI *FIsWow64Process)( HANDLE hProcess, PBOOL Wow64Process );
|
||||
typedef BOOL (WINAPI *FQueryFullProcessImageName)( HANDLE hProcess, DWORD dwFlags, LPTSTR lpExeName, PDWORD lpdwSize );
|
||||
|
||||
|
||||
|
||||
enum
|
||||
{
|
||||
ERR_WRONG_OS=101, // the OS is too old, Windows 7 or up is required
|
||||
ERR_OLD_VERSION, // detected version older than 1.0.0
|
||||
ERR_HASH_NOTFOUND, // the HASH resource is missing
|
||||
ERR_MSIRES_NOTFOUND, // missing MSI resource
|
||||
ERR_HASH_ERROR,
|
||||
ERR_VERRES_NOTFOUND, // missing version resource
|
||||
ERR_MSI_EXTRACTFAIL, // failed to extract the MSI file
|
||||
ERR_MSIEXEC, // msiexec failed to start
|
||||
};
|
||||
|
||||
struct Chunk
|
||||
{
|
||||
int start1, start2, len;
|
||||
};
|
||||
|
||||
static void WriteFileXOR( HANDLE hFile, const unsigned char *buf, int size )
|
||||
{
|
||||
if (size>0)
|
||||
{
|
||||
std::vector<unsigned char> buf2;
|
||||
buf2.reserve(size);
|
||||
for (int i=0;i<size;i++)
|
||||
buf2.push_back(buf[i]^0xFF);
|
||||
DWORD q;
|
||||
WriteFile(hFile,&buf2[0],size,&q,NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static int ExtractMsi( HINSTANCE hInstance, const wchar_t *msiName, bool b64, bool bQuiet )
|
||||
{
|
||||
void *pRes=NULL;
|
||||
HRSRC hResInfo=FindResource(hInstance,MAKEINTRESOURCE(IDR_MSI_CHECKSUM),L"MSI_FILE");
|
||||
if (hResInfo)
|
||||
{
|
||||
HGLOBAL hRes=LoadResource(hInstance,hResInfo);
|
||||
pRes=LockResource(hRes);
|
||||
}
|
||||
if (!pRes)
|
||||
{
|
||||
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_HASH_NOTFOUND;
|
||||
}
|
||||
unsigned int hash0=((unsigned int*)pRes)[b64?1:0];
|
||||
const Chunk *pChunks=NULL;
|
||||
int chunkCount=0;
|
||||
if (b64)
|
||||
{
|
||||
chunkCount=((unsigned int*)pRes)[2];
|
||||
pChunks=(Chunk*)((unsigned int*)pRes+3);
|
||||
}
|
||||
|
||||
// extract the installer
|
||||
const unsigned char *pRes32=NULL;
|
||||
hResInfo=FindResource(hInstance,MAKEINTRESOURCE(IDR_MSI_FILE32),L"MSI_FILE");
|
||||
if (hResInfo)
|
||||
{
|
||||
HGLOBAL hRes=LoadResource(hInstance,hResInfo);
|
||||
pRes32=(unsigned char*)LockResource(hRes);
|
||||
}
|
||||
if (!pRes32)
|
||||
{
|
||||
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;
|
||||
}
|
||||
const unsigned char *pRes64=NULL;
|
||||
int size32=SizeofResource(hInstance,hResInfo);
|
||||
unsigned int hash;
|
||||
int size64=0;
|
||||
if (b64)
|
||||
{
|
||||
HRSRC hResInfo=FindResource(hInstance,MAKEINTRESOURCE(IDR_MSI_FILE64),L"MSI_FILE");
|
||||
if (hResInfo)
|
||||
{
|
||||
HGLOBAL hRes=LoadResource(hInstance,hResInfo);
|
||||
pRes64=(unsigned char*)LockResource(hRes);
|
||||
}
|
||||
if (!pRes64)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
size64=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(pRes64+pos,chunk.start2-start,hash);
|
||||
hash=CalcFNVHash(pRes32+chunk.start1,chunk.len,hash);
|
||||
pos+=chunk.start2-start;
|
||||
start=chunk.start2+chunk.len;
|
||||
}
|
||||
if (pos<size64)
|
||||
hash=CalcFNVHash(pRes64+pos,size64-pos,hash);
|
||||
}
|
||||
else
|
||||
hash=CalcFNVHash(pRes32,size32);
|
||||
if (hash!=hash0)
|
||||
{
|
||||
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_CORRUPTED,strText,_countof(strText))) strText[0]=0;
|
||||
wchar_t message[1024];
|
||||
Sprintf(message,_countof(message),strText,msiName);
|
||||
MessageBox(NULL,message,strTitle,MB_OK|MB_ICONERROR);
|
||||
}
|
||||
return ERR_HASH_ERROR;
|
||||
}
|
||||
|
||||
HANDLE hFile=CreateFile(msiName,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
|
||||
if (hFile==INVALID_HANDLE_VALUE)
|
||||
{
|
||||
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_EXTRACT,strText,_countof(strText))) strText[0]=0;
|
||||
|
||||
wchar_t message[1024];
|
||||
Sprintf(message,_countof(message),strText,msiName);
|
||||
if (!bQuiet)
|
||||
{
|
||||
MessageBox(NULL,message,strTitle,MB_OK|MB_ICONERROR);
|
||||
}
|
||||
return ERR_MSI_EXTRACTFAIL;
|
||||
}
|
||||
if (b64)
|
||||
{
|
||||
int start=0;
|
||||
int pos=0;
|
||||
for (int i=0;i<chunkCount;i++)
|
||||
{
|
||||
const Chunk &chunk=pChunks[i];
|
||||
if (start<chunk.start2)
|
||||
WriteFileXOR(hFile,pRes64+pos,chunk.start2-start);
|
||||
WriteFileXOR(hFile,pRes32+chunk.start1,chunk.len);
|
||||
pos+=chunk.start2-start;
|
||||
start=chunk.start2+chunk.len;
|
||||
}
|
||||
if (pos<size64)
|
||||
WriteFileXOR(hFile,pRes64+pos,size64-pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteFileXOR(hFile,pRes32,size32);
|
||||
}
|
||||
CloseHandle(hFile);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT_PTR CALLBACK DialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
if (uMsg==WM_COMMAND && wParam==IDOK)
|
||||
{
|
||||
wchar_t text[256];
|
||||
GetDlgItemText(hwndDlg,IDC_EDITPWD,text,_countof(text));
|
||||
CharUpper(text);
|
||||
if (CalcFNVHash(text)==0xdd7faf06)
|
||||
EndDialog(hwndDlg,IDOK);
|
||||
else
|
||||
MessageBox(hwndDlg,L"Wrong password.",L"Error",MB_OK|MB_ICONERROR);
|
||||
return TRUE;
|
||||
}
|
||||
if (uMsg==WM_COMMAND && wParam==IDCANCEL)
|
||||
{
|
||||
EndDialog(hwndDlg,IDCANCEL);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int APIENTRY wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow )
|
||||
{
|
||||
INITCOMMONCONTROLSEX init={sizeof(init),ICC_STANDARD_CLASSES};
|
||||
InitCommonControlsEx(&init);
|
||||
|
||||
// get installer version
|
||||
VS_FIXEDFILEINFO *pVer=NULL;
|
||||
{
|
||||
void *pRes=NULL;
|
||||
HRSRC hResInfo=FindResource(hInstance,MAKEINTRESOURCE(VS_VERSION_INFO),RT_VERSION);
|
||||
if (hResInfo)
|
||||
{
|
||||
HGLOBAL hRes=LoadResource(hInstance,hResInfo);
|
||||
pRes=LockResource(hRes);
|
||||
}
|
||||
if (pRes)
|
||||
pVer=(VS_FIXEDFILEINFO*)((char*)pRes+40);
|
||||
}
|
||||
|
||||
if (pVer && pVer->dwProductVersionMS==0x20008 && pVer->dwProductVersionLS==0 && DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOGPWD),NULL,DialogProc)!=IDOK)
|
||||
return 0;
|
||||
|
||||
int count;
|
||||
wchar_t *const *params=CommandLineToArgvW(lpCmdLine,&count);
|
||||
if (!params) count=0;
|
||||
|
||||
int extract=0;
|
||||
bool bQuiet=false;
|
||||
for (;count>0;count--,params++)
|
||||
{
|
||||
if (_wcsicmp(params[0],L"help")==0 || _wcsicmp(params[0],L"/?")==0)
|
||||
{
|
||||
wchar_t strTitle[256];
|
||||
if (!LoadString(hInstance,IDS_APP_TITLE,strTitle,_countof(strTitle))) strTitle[0]=0;
|
||||
wchar_t strText[4096];
|
||||
if (!LoadString(hInstance,IDS_HELP,strText,_countof(strText))) strText[0]=0;
|
||||
|
||||
MessageBox(NULL,strText,strTitle,MB_OK);
|
||||
return 0;
|
||||
}
|
||||
if (_wcsicmp(params[0],L"extract32")==0)
|
||||
extract=32;
|
||||
if (_wcsicmp(params[0],L"extract64")==0)
|
||||
extract=64;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
if (!pVer)
|
||||
{
|
||||
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_VERRES_NOTFOUND;
|
||||
}
|
||||
|
||||
if (extract)
|
||||
{
|
||||
wchar_t msiName[_MAX_PATH];
|
||||
Sprintf(msiName,_countof(msiName),L"Setup%d_%d_%d_%d.msi",extract,HIWORD(pVer->dwProductVersionMS),LOWORD(pVer->dwProductVersionMS),HIWORD(pVer->dwProductVersionLS));
|
||||
return ExtractMsi(hInstance,msiName,extract==64,bQuiet);
|
||||
}
|
||||
|
||||
// check Windows version
|
||||
#pragma warning(suppress:4996)
|
||||
WORD winVer=LOWORD(GetVersion());
|
||||
winVer=MAKEWORD(HIBYTE(winVer),LOBYTE(winVer));
|
||||
if (winVer<0x601)
|
||||
{
|
||||
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_WIN7,strText,_countof(strText))) strText[0]=0;
|
||||
MessageBox(NULL,strText,strTitle,MB_OK|MB_ICONERROR);
|
||||
}
|
||||
return ERR_WRONG_OS;
|
||||
}
|
||||
|
||||
// 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)
|
||||
{
|
||||
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_WIN7,strText,_countof(strText))) strText[0]=0;
|
||||
MessageBox(NULL,strText,strTitle,MB_OK|MB_ICONERROR);
|
||||
}
|
||||
return ERR_WRONG_OS;
|
||||
}
|
||||
|
||||
BOOL b64=FALSE;
|
||||
isWow64Process(GetCurrentProcess(),&b64);
|
||||
|
||||
// look for an old version the start menu (2.0.0 or older) and show a warning if it is still running. the uninstaller for such old versions doesn't close the start menu
|
||||
HWND hwnd=FindWindow(L"Menu.CStartHookWindow",L"StartHookWindow");
|
||||
if (hwnd)
|
||||
{
|
||||
bool bStartMenu=false;
|
||||
|
||||
DWORD id;
|
||||
GetWindowThreadProcessId(hwnd,&id);
|
||||
HANDLE process=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,id);
|
||||
if (process)
|
||||
{
|
||||
bStartMenu=true;
|
||||
wchar_t path[_MAX_PATH];
|
||||
DWORD size=_countof(path);
|
||||
|
||||
FQueryFullProcessImageName queryFullProcessImageName=(FQueryFullProcessImageName)GetProcAddress(hKernel32,"QueryFullProcessImageNameW");
|
||||
if (queryFullProcessImageName && queryFullProcessImageName(process,0,path,&size))
|
||||
{
|
||||
DWORD q;
|
||||
DWORD size=GetFileVersionInfoSize(path,&q);
|
||||
if (size)
|
||||
{
|
||||
std::vector<char> buf(size);
|
||||
if (GetFileVersionInfo(path,0,size,&buf[0]))
|
||||
{
|
||||
VS_FIXEDFILEINFO *pVer;
|
||||
UINT len;
|
||||
if (VerQueryValue(&buf[0],L"\\",(void**)&pVer,&len) && pVer->dwProductVersionMS>0x20000)
|
||||
bStartMenu=false;
|
||||
}
|
||||
}
|
||||
}
|
||||
CloseHandle(process);
|
||||
}
|
||||
if (bStartMenu)
|
||||
{
|
||||
wchar_t strTitle[256];
|
||||
if (!LoadString(hInstance,IDS_APP_TITLE,strTitle,_countof(strTitle))) strTitle[0]=0;
|
||||
wchar_t strText[1024];
|
||||
if (!LoadString(hInstance,IDS_OLDSTARTMENU,strText,_countof(strText))) strText[0]=0;
|
||||
MessageBox(NULL,strText,strTitle,MB_OK|MB_ICONWARNING);
|
||||
}
|
||||
}
|
||||
/*
|
||||
// warning about being beta
|
||||
if (!bQuiet)
|
||||
{
|
||||
if (MessageBox(NULL,L"Warning!\nThis is a beta version of Open-Shell. It contains features that are not fully tested. Please report any problems in the Open-Shell forums. If you prefer a stable build over the latest features, you can download one of the \"general release\" versions like 3.6.8.\nDo you want to continue with the installation?",L"Open-Shell Setup",MB_YESNO|MB_ICONWARNING)==IDNO)
|
||||
return 99;
|
||||
}
|
||||
*/
|
||||
|
||||
DWORD version;
|
||||
{
|
||||
HKEY hKey;
|
||||
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,L"SOFTWARE\\OpenShell\\OpenShell",0,KEY_READ|(b64?KEY_WOW64_64KEY:0),&hKey)==ERROR_SUCCESS)
|
||||
{
|
||||
DWORD size=sizeof(version);
|
||||
if (RegQueryValueEx(hKey,L"Version",0,NULL,(BYTE*)&version,&size)!=ERROR_SUCCESS)
|
||||
version=0;
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
}
|
||||
|
||||
wchar_t msiName[_MAX_PATH];
|
||||
Sprintf(msiName,_countof(msiName),L"%%ALLUSERSPROFILE%%\\Setup%d_%d_%d_%d.msi",b64?64:32,HIWORD(pVer->dwProductVersionMS),LOWORD(pVer->dwProductVersionMS),HIWORD(pVer->dwProductVersionLS));
|
||||
DoEnvironmentSubst(msiName,_countof(msiName));
|
||||
int ex=ExtractMsi(hInstance,msiName,b64!=FALSE,bQuiet);
|
||||
if (ex) return ex;
|
||||
|
||||
wchar_t cmdLine[2048];
|
||||
if (wcsstr(lpCmdLine,L"%MSI%") || wcsstr(lpCmdLine,L"%msi%"))
|
||||
{
|
||||
SetEnvironmentVariable(L"MSI",msiName);
|
||||
Sprintf(cmdLine,_countof(cmdLine),L"msiexec.exe %s",lpCmdLine);
|
||||
DoEnvironmentSubst(cmdLine,_countof(cmdLine));
|
||||
}
|
||||
else
|
||||
{
|
||||
Sprintf(cmdLine,_countof(cmdLine),L"msiexec.exe /i \"%s\" %s",msiName,lpCmdLine);
|
||||
}
|
||||
|
||||
// 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))
|
||||
{
|
||||
DeleteFile(msiName);
|
||||
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_MSIEXEC,strText,_countof(strText))) strText[0]=0;
|
||||
MessageBox(NULL,strText,strTitle,MB_OK|MB_ICONERROR);
|
||||
}
|
||||
return ERR_MSIEXEC;
|
||||
}
|
||||
else
|
||||
{
|
||||
CloseHandle(processInfo.hThread);
|
||||
// wait for the installer to finish
|
||||
WaitForSingleObject(processInfo.hProcess,INFINITE);
|
||||
DWORD code;
|
||||
GetExitCodeProcess(processInfo.hProcess,&code);
|
||||
CloseHandle(processInfo.hProcess);
|
||||
DeleteFile(msiName);
|
||||
return code;
|
||||
}
|
||||
}
|
||||
41
Src/Setup/Setup.manifest
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
|
||||
<assemblyIdentity
|
||||
version="1.0.0.0"
|
||||
processorArchitecture="X86"
|
||||
name="Open-Shell.Setup"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Open-Shell Setup</description>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="X86"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<asmv3:application>
|
||||
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||
<dpiAware>true</dpiAware>
|
||||
</asmv3:windowsSettings>
|
||||
</asmv3:application>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- Windows Vista -->
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
|
||||
<!-- Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||
<!-- Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||
<!-- Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||
<!-- Windows 10 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||
</application>
|
||||
</compatibility>
|
||||
</assembly>
|
||||
182
Src/Setup/Setup.rc
Normal file
@@ -0,0 +1,182 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#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
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_APPICON ICON "OpenShell.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION _PRODUCT_VERSION
|
||||
PRODUCTVERSION _PRODUCT_VERSION
|
||||
FILEFLAGSMASK 0x17L
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Open-Shell"
|
||||
VALUE "FileDescription", "Adds classic shell features to Windows 7 and Windows 8"
|
||||
VALUE "FileVersion", _PRODUCT_VERSION_STR
|
||||
VALUE "InternalName", "Setup"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team"
|
||||
VALUE "OriginalFilename", "Setup.exe"
|
||||
VALUE "ProductName", "Open-Shell"
|
||||
VALUE "ProductVersion", _PRODUCT_VERSION_STR
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// MSI_FILE
|
||||
//
|
||||
|
||||
IDR_MSI_FILE32 MSI_FILE "Temp\\Setup32.msi_"
|
||||
IDR_MSI_FILE64 MSI_FILE "Temp\\Setup64.msi_"
|
||||
IDR_MSI_CHECKSUM MSI_FILE "msichecksum.bin"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_DIALOGPWD DIALOGEX 0, 0, 154, 75
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Open-Shell 2.8.0 (closed beta)"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "This beta version is password-protected. Please enter the password:",IDC_STATIC,7,7,140,17
|
||||
EDITTEXT IDC_EDITPWD,7,32,140,14,ES_AUTOHSCROLL
|
||||
DEFPUSHBUTTON "OK",IDOK,43,54,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,97,54,50,14
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_DIALOGPWD, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 147
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 68
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APP_TITLE "Open-Shell Setup"
|
||||
IDS_OLDSTARTMENU "Warning!\nAn old version of the classic start menu is still running. Please close it before installing the new version to avoid crashing Explorer. Right click on the start button and select ""Exit""."
|
||||
IDS_ERR_CORRUPTED "Failed to extract setup file '%s'. The MSI resource is corrupted."
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ERR_INTERNAL "Internal Setup Error"
|
||||
IDS_ERR_EXTRACT "Failed to extract setup file '%s'."
|
||||
IDS_ERR_WIN7 "Open-Shell requires Windows 7 or later."
|
||||
IDS_ERR_MSIEXEC "Failed to run msiexec.exe."
|
||||
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=Menu APPLICATIONFOLDER=C:\\OpenShell - installs only Open-Shell Menu in quiet mode in the folder C:\\OpenShell\n ADDLOCAL=Menu,ClassicIE - runs the installer in full UI mode with Open-Shell Menu and Classic IE checked by default"
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
39
Src/Setup/Setup.sln
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27130.2010
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Setup", "Setup.vcxproj", "{A4A4D3B1-24E7-401E-A37C-72141D7603DC}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lib", "..\Lib\Lib.vcxproj", "{D42FE717-485B-492D-884A-1999F6D51154}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{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}.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
|
||||
{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|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
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {E16503A7-2270-43F6-B312-98FBCB237FA4}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
136
Src/Setup/Setup.vcxproj
Normal file
@@ -0,0 +1,136 @@
|
||||
<?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|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{A4A4D3B1-24E7-401E-A37C-72141D7603DC}</ProjectGuid>
|
||||
<RootNamespace>Setup</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\Version.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>comctl32.lib;Psapi.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>comctl32.lib;Psapi.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="banner.jpg" />
|
||||
<Image Include="OpenShell.ico" />
|
||||
<Image Include="dialog.jpg" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Setup.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="Setup.manifest" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Setup.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\Localization\English\OpenShellText-en-US.wxl" />
|
||||
<None Include="BuildArchives.bat" />
|
||||
<None Include="BuildBinaries.bat" />
|
||||
<None Include="BuildInstaller.bat" />
|
||||
<None Include="Setup.wxs" />
|
||||
<None Include="msichecksum.bin" />
|
||||
<None Include="SetEnvironment.bat" />
|
||||
<None Include="Temp\Setup32.msi_" />
|
||||
<None Include="Temp\Setup64.msi_" />
|
||||
<None Include="__MakeFinal.bat" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Lib\Lib.vcxproj">
|
||||
<Project>{d42fe717-485b-492d-884a-1999f6d51154}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
68
Src/Setup/Setup.vcxproj.filters
Normal file
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Bootstrapper">
|
||||
<UniqueIdentifier>{554caf03-9189-4f7c-955b-7407887d81f2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Setup Files">
|
||||
<UniqueIdentifier>{dfc73fe3-75a1-4823-b7c6-090157a15da7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="OpenShell.ico">
|
||||
<Filter>Bootstrapper</Filter>
|
||||
</Image>
|
||||
<Image Include="banner.jpg">
|
||||
<Filter>Setup Files</Filter>
|
||||
</Image>
|
||||
<Image Include="dialog.jpg">
|
||||
<Filter>Setup Files</Filter>
|
||||
</Image>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Setup.cpp">
|
||||
<Filter>Bootstrapper</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="Setup.manifest">
|
||||
<Filter>Bootstrapper</Filter>
|
||||
</Manifest>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Setup.rc">
|
||||
<Filter>Bootstrapper</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>Bootstrapper</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="__MakeFinal.bat">
|
||||
<Filter>Setup Files</Filter>
|
||||
</None>
|
||||
<None Include="BuildArchives.bat">
|
||||
<Filter>Setup Files</Filter>
|
||||
</None>
|
||||
<None Include="BuildBinaries.bat">
|
||||
<Filter>Setup Files</Filter>
|
||||
</None>
|
||||
<None Include="BuildInstaller.bat">
|
||||
<Filter>Setup Files</Filter>
|
||||
</None>
|
||||
<None Include="Setup.wxs">
|
||||
<Filter>Setup Files</Filter>
|
||||
</None>
|
||||
<None Include="..\Localization\English\OpenShellText-en-US.wxl">
|
||||
<Filter>Setup Files</Filter>
|
||||
</None>
|
||||
<None Include="SetEnvironment.bat">
|
||||
<Filter>Setup Files</Filter>
|
||||
</None>
|
||||
<None Include="Temp\Setup32.msi_" />
|
||||
<None Include="Temp\Setup64.msi_" />
|
||||
<None Include="msichecksum.bin" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
663
Src/Setup/Setup.wxs
Normal file
@@ -0,0 +1,663 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
# 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
|
||||
lightArgs: "<projectname>.wixobj" -out "<projectname>.msi" -ext WixUIExtension -ext WixUtilExtension -loc OpenShellText-en-US.wxl
|
||||
-->
|
||||
<?if $(var.x64)=1 ?>
|
||||
<?define CS_UPGRADE = "779A74EF-23DE-4C71-AC12-2EE5A542ED34"?>
|
||||
<?define CS_PLATFORM = "x64"?>
|
||||
<?define CS_PROGRAM_FILES = "ProgramFiles64Folder"?>
|
||||
<?define CS_WIN64 = "yes"?>
|
||||
<?else ?>
|
||||
<?define CS_UPGRADE = "EB7DA1D9-44EA-43BF-8A08-0B103007D4F2"?>
|
||||
<?define CS_PLATFORM = "x86"?>
|
||||
<?define CS_PROGRAM_FILES = "ProgramFilesFolder"?>
|
||||
<?define CS_WIN64 = "no"?>
|
||||
<?endif ?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Product Id="*" Name="Open-Shell" Language="1033" Version="$(env.CS_VERSION)" Manufacturer="The Open-Shell Team" UpgradeCode="$(var.CS_UPGRADE)">
|
||||
<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 ?>
|
||||
<Condition Message="!(loc.Error32bit)">not Msix64</Condition>
|
||||
<?endif ?>
|
||||
<Condition Message="!(loc.ErrorWin7)">VersionNT>=601</Condition>
|
||||
<Condition Message="!(loc.ErrorNewVersion)">NOT NEWERPRODUCTFOUND OR Installed</Condition>
|
||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||
<Directory Id="$(var.CS_PROGRAM_FILES)" Name="PFiles">
|
||||
<Directory Id="APPLICATIONFOLDER" Name="Open-Shell">
|
||||
<Directory Id="Skins" Name="Skins" />
|
||||
</Directory>
|
||||
</Directory>
|
||||
<Directory Id="ProgramMenuFolder" Name="Programs">
|
||||
<Directory Id="StartMenuDir" Name="Open-Shell">
|
||||
<Component Id="StartMenuDir" Guid="42AA415A-5E61-4238-96B2-A997D1EE5521">
|
||||
<RemoveFolder Id="StartMenuDir" On="uninstall" />
|
||||
<CreateFolder />
|
||||
<Condition>START_MENU_FOLDER=1</Condition>
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
<Directory Id="SystemFolder" />
|
||||
<Directory Id="System64Folder" />
|
||||
</Directory>
|
||||
<Feature Id="OpenShell" Level="1" Title="Open-Shell" ConfigurableDirectory="APPLICATIONFOLDER" AllowAdvertise="no" Absent="disallow" Display="expand" Description="!(loc.OpenShellDesc)">
|
||||
<ComponentRef Id="OpenShell.chm" />
|
||||
<ComponentRef Id="OpenShellReadme.rtf" />
|
||||
<ComponentRef Id="OpenShell" />
|
||||
<ComponentRef Id="TreatAs" />
|
||||
<ComponentRef Id="HelpLink" />
|
||||
<ComponentRef Id="ReadmeLink" />
|
||||
<ComponentRef Id="StartMenuDir" />
|
||||
<ComponentRef Id="PolicyDefinitions.zip" />
|
||||
<?if $(var.CS_LANG_NAME)!="en-US" ?>
|
||||
<ComponentRef Id="LanguageDll" />
|
||||
<?endif ?>
|
||||
<Feature Id="ClassicExplorer" Level="1" Title="!(loc.ExplorerTitle)" ConfigurableDirectory="APPLICATIONFOLDER" AllowAdvertise="no" Description="!(loc.ExplorerDesc)">
|
||||
<ComponentRef Id="ClassicExplorer32.dll" />
|
||||
<?if $(var.x64)=1 ?>
|
||||
<ComponentRef Id="ClassicExplorer64.dll" />
|
||||
<?endif ?>
|
||||
<ComponentRef Id="ExplorerL10N.ini" />
|
||||
<ComponentRef Id="ClassicExplorerSettings.exe" />
|
||||
<ComponentRef Id="ExplorerSettingsLink" />
|
||||
</Feature>
|
||||
<Feature Id="Menu" Level="1" Title="!(loc.StartMenuTitle)" ConfigurableDirectory="APPLICATIONFOLDER" AllowAdvertise="no" Description="!(loc.StartMenuDesc)">
|
||||
<ComponentRef Id="StartMenu.exe" />
|
||||
<ComponentRef Id="StartMenuDLL.dll" />
|
||||
<ComponentRef Id="StartMenuL10N.ini" />
|
||||
<ComponentRef Id="StartMenuHelper32.dll" />
|
||||
<?if $(var.x64)=1 ?>
|
||||
<ComponentRef Id="StartMenuHelper64.dll" />
|
||||
<?endif ?>
|
||||
<ComponentRef Id="StartScreenLink" />
|
||||
<ComponentRef Id="StartMenuHelperL10N.ini" />
|
||||
<ComponentRef Id="ClassicSkin.skin" />
|
||||
<ComponentRef Id="FullGlass.skin" />
|
||||
<ComponentRef Id="SmokedGlass.skin" />
|
||||
<ComponentRef Id="WindowsAero.skin" />
|
||||
<ComponentRef Id="WindowsBasic.skin" />
|
||||
<ComponentRef Id="WindowsXPLuna.skin" />
|
||||
<ComponentRef Id="Windows8.skin" />
|
||||
<ComponentRef Id="Metro.skin" />
|
||||
<ComponentRef Id="ClassicSkin.skin7" />
|
||||
<ComponentRef Id="WindowsAero.skin7" />
|
||||
<ComponentRef Id="Windows8.skin7" />
|
||||
<ComponentRef Id="Midnight.skin7" />
|
||||
<ComponentRef Id="Metro.skin7" />
|
||||
<ComponentRef Id="Metallic.skin7" />
|
||||
<ComponentRef Id="AutoRun" />
|
||||
<ComponentRef Id="MenuSettingsLink" />
|
||||
</Feature>
|
||||
<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 ?>
|
||||
<ComponentRef Id="ClassicIEDLL_64.dll" />
|
||||
<ComponentRef Id="ClassicIE_64.exe" />
|
||||
<?endif ?>
|
||||
<ComponentRef Id="IESettingsLink" />
|
||||
<Condition Level="1">IE_BUILD>=90000</Condition>
|
||||
</Feature>
|
||||
<Feature Id="Update" Level="1" Title="!(loc.UpdateTitle)" ConfigurableDirectory="APPLICATIONFOLDER" AllowAdvertise="no" Description="!(loc.UpdateDesc)">
|
||||
<ComponentRef Id="Update.exe" />
|
||||
<ComponentRef Id="UpdateSettingsLink" />
|
||||
</Feature>
|
||||
</Feature>
|
||||
<UI>
|
||||
<TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
|
||||
<TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
|
||||
<TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
|
||||
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
|
||||
<Property Id="WixUI_Mode" Value="FeatureTree" />
|
||||
<DialogRef Id="ErrorDlg" />
|
||||
<DialogRef Id="FatalError" />
|
||||
<DialogRef Id="FilesInUse" />
|
||||
<DialogRef Id="MsiRMFilesInUse" />
|
||||
<DialogRef Id="PrepareDlg" />
|
||||
<DialogRef Id="ProgressDlg" />
|
||||
<DialogRef Id="ResumeDlg" />
|
||||
<DialogRef Id="UserExit" />
|
||||
<Publish Dialog="ExitDialog2" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
|
||||
<Publish Dialog="WelcomeDlg2" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg2">1</Publish>
|
||||
<Publish Dialog="LicenseAgreementDlg2" Control="Back" Event="NewDialog" Value="WelcomeDlg2">1</Publish>
|
||||
<Publish Dialog="LicenseAgreementDlg2" Control="Next" Event="NewDialog" Value="CustomizeDlg2">LicenseAccepted = "1"</Publish>
|
||||
<Publish Dialog="CustomizeDlg2" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg2" Order="1">Installed</Publish>
|
||||
<Publish Dialog="CustomizeDlg2" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg2" Order="2">NOT Installed</Publish>
|
||||
<Publish Dialog="CustomizeDlg2" Control="Next" Event="NewDialog" Value="VerifyReadyDlg2">1</Publish>
|
||||
<Publish Dialog="VerifyReadyDlg2" Control="Back" Event="NewDialog" Value="CustomizeDlg2" Order="1">NOT Installed OR WixUI_InstallMode = "Change"</Publish>
|
||||
<Publish Dialog="VerifyReadyDlg2" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg2" Order="2">Installed</Publish>
|
||||
<Publish Dialog="MaintenanceWelcomeDlg2" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg2">1</Publish>
|
||||
<Publish Dialog="MaintenanceTypeDlg2" Control="ChangeButton" Event="NewDialog" Value="CustomizeDlg2">1</Publish>
|
||||
<Publish Dialog="MaintenanceTypeDlg2" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg2">1</Publish>
|
||||
<Publish Dialog="MaintenanceTypeDlg2" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg2">1</Publish>
|
||||
<Publish Dialog="MaintenanceTypeDlg2" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg2">1</Publish>
|
||||
<Dialog Id="WelcomeDlg2" Width="370" Height="270" Title="!(loc.WelcomeDlg_Title)">
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.WelcomeDlgBitmap)" />
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Description" Type="Text" X="135" Y="80" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.WelcomeDlgDescription)" />
|
||||
<Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.WelcomeDlgTitle)" />
|
||||
</Dialog>
|
||||
<InstallUISequence>
|
||||
<Show Dialog="WelcomeDlg2" Before="ProgressDlg">NOT Installed</Show>
|
||||
</InstallUISequence>
|
||||
<Dialog Id="LicenseAgreementDlg2" Width="370" Height="270" Title="!(loc.LicenseAgreementDlg_Title)">
|
||||
<Control Id="LicenseAcceptedCheckBox" Type="CheckBox" X="20" Y="207" Width="330" Height="18" CheckBoxValue="1" Property="LicenseAccepted" Text="!(loc.LicenseAgreementDlgLicenseAcceptedCheckBox)" />
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
|
||||
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish>
|
||||
<Condition Action="disable"><![CDATA[LicenseAccepted <> "1"]]></Condition>
|
||||
<Condition Action="enable">LicenseAccepted = "1"</Condition>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.LicenseAgreementDlgBannerBitmap)" />
|
||||
<Control Id="LicenseText" Type="ScrollableText" X="20" Y="60" Width="330" Height="140" Sunken="yes" TabSkip="no">
|
||||
<Text SourceFile="..\Localization\$(var.CS_LANG_FOLDER)\OpenShellEULA.rtf" />
|
||||
</Control>
|
||||
<Control Id="Print" Type="PushButton" X="100" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)">
|
||||
<Publish Event="DoAction" Value="WixUIPrintEula">1</Publish>
|
||||
</Control>
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Description" Type="Text" X="25" Y="23" Width="340" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.LicenseAgreementDlgDescription)" />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.LicenseAgreementDlgTitle)" />
|
||||
</Dialog>
|
||||
<Dialog Id="CustomizeDlg2" Width="370" Height="270" Title="!(loc.CustomizeDlg_Title)" TrackDiskSpace="yes">
|
||||
<Control Id="Tree" Type="SelectionTree" X="25" Y="85" Width="175" Height="92" Property="_BrowseProperty" Sunken="yes" TabSkip="no" Text="!(loc.CustomizeDlgTree)" />
|
||||
<Control Id="Browse" Type="PushButton" X="294" Y="212" Width="66" Height="17" Text="!(loc.CustomizeDlgBrowse)">
|
||||
<Publish Event="SelectionBrowse" Value="BrowseDlg">1</Publish>
|
||||
<Condition Action="hide">Installed</Condition>
|
||||
<Condition Action="disable">Installed</Condition>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
|
||||
<Subscribe Event="SelectionNoItems" Attribute="Enabled" />
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.CustomizeDlgBannerBitmap)" />
|
||||
<Control Id="Text" Type="Text" X="25" Y="55" Width="320" Height="20" Text="!(loc.CustomizeDlgText)" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="2" />
|
||||
<Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.CustomizeDlgDescription)" />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="210" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.CustomizeDlgTitle)" />
|
||||
<Control Id="Box" Type="GroupBox" X="210" Y="81" Width="150" Height="118" />
|
||||
<Control Id="ItemDescription" Type="Text" X="215" Y="90" Width="131" Height="50" Text="!(loc.CustomizeDlgItemDescription)">
|
||||
<Subscribe Event="SelectionDescription" Attribute="Text" />
|
||||
</Control>
|
||||
<Control Id="ItemSize" Type="Text" X="215" Y="140" Width="131" Height="50" Text="!(loc.CustomizeDlgItemSize)">
|
||||
<Subscribe Event="SelectionSize" Attribute="Text" />
|
||||
</Control>
|
||||
<Control Id="Location" Type="Text" X="90" Y="214" Width="200" Height="20" Text="!(loc.CustomizeDlgLocation)">
|
||||
<Subscribe Event="SelectionPath" Attribute="Text" />
|
||||
<Subscribe Event="SelectionPathOn" Attribute="Visible" />
|
||||
<Condition Action="hide">Installed</Condition>
|
||||
</Control>
|
||||
<Control Id="LocationLabel" Type="Text" X="25" Y="214" Width="65" Height="10" Text="!(loc.CustomizeDlgLocationLabel)">
|
||||
<Subscribe Event="SelectionPathOn" Attribute="Visible" />
|
||||
<Condition Action="hide">Installed</Condition>
|
||||
</Control>
|
||||
<Control Type="CheckBox" Id="StartMenu" Width="172" Height="17" X="25" Y="181" Text="!(loc.StartMenuFolder)" Property="START_MENU_FOLDER" CheckBoxValue="1">
|
||||
<Condition Action="hide">Installed</Condition>
|
||||
</Control>
|
||||
<Control Type="Line" Id="MiddleLine" Width="370" Height="17" X="0" Y="205">
|
||||
<Condition Action="hide">Installed</Condition>
|
||||
</Control>
|
||||
</Dialog>
|
||||
<Dialog Id="VerifyReadyDlg2" Width="370" Height="270" Title="!(loc.VerifyReadyDlg_Title)" TrackDiskSpace="yes">
|
||||
<Control Id="Install" Type="PushButton" ElevationShield="yes" X="236" Y="243" Width="66" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgInstall)">
|
||||
<Condition Action="show">NOT Installed AND ALLUSERS</Condition>
|
||||
<Condition Action="enable">NOT Installed</Condition>
|
||||
<Condition Action="default">NOT Installed</Condition>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="InstallNoShield" Type="PushButton" ElevationShield="no" X="236" Y="243" Width="66" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgInstall)">
|
||||
<Condition Action="show">NOT Installed AND NOT ALLUSERS</Condition>
|
||||
<Condition Action="enable">NOT Installed</Condition>
|
||||
<Condition Action="default">NOT Installed</Condition>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="Change" Type="PushButton" ElevationShield="yes" X="236" Y="243" Width="66" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgChange)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Change" AND ALLUSERS AND (ADDLOCAL OR REMOVE)</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Change"</Condition>
|
||||
<Condition Action="default">WixUI_InstallMode = "Change"</Condition>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="ChangeNoShield" Type="PushButton" ElevationShield="no" X="236" Y="243" Width="66" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgChange)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Change" AND (NOT ALLUSERS OR (NOT ADDLOCAL AND NOT REMOVE))</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Change"</Condition>
|
||||
<Condition Action="default">WixUI_InstallMode = "Change"</Condition>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="Repair" Type="PushButton" X="236" Y="243" Width="66" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgRepair)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Repair"</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Repair"</Condition>
|
||||
<Condition Action="default">WixUI_InstallMode = "Repair"</Condition>
|
||||
<Publish Event="ReinstallMode" Value="ecmus"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="Reinstall" Value="All"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="Remove" Type="PushButton" ElevationShield="yes" X="236" Y="243" Width="66" Height="17" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgRemove)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Remove" AND ALLUSERS</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Remove"</Condition>
|
||||
<Publish Event="Remove" Value="All"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="RemoveNoShield" Type="PushButton" ElevationShield="no" X="236" Y="243" Width="66" Height="17" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgRemove)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Remove" AND NOT ALLUSERS</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Remove"</Condition>
|
||||
<Publish Event="Remove" Value="All"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="InstallTitle" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.VerifyReadyDlgInstallTitle)">
|
||||
<Condition Action="show">NOT Installed</Condition>
|
||||
</Control>
|
||||
<Control Id="InstallText" Type="Text" X="25" Y="70" Width="320" Height="80" Hidden="yes" Text="!(loc.VerifyReadyDlgInstallText)">
|
||||
<Condition Action="show">NOT Installed</Condition>
|
||||
</Control>
|
||||
<Control Id="ChangeTitle" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.VerifyReadyDlgChangeTitle)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Change"</Condition>
|
||||
</Control>
|
||||
<Control Id="ChangeText" Type="Text" X="25" Y="70" Width="320" Height="80" Hidden="yes" Text="!(loc.VerifyReadyDlgChangeText)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Change"</Condition>
|
||||
</Control>
|
||||
<Control Id="RepairTitle" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.VerifyReadyDlgRepairTitle)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Repair"</Condition>
|
||||
</Control>
|
||||
<Control Id="RepairText" Type="Text" X="25" Y="70" Width="320" Height="80" Hidden="yes" NoPrefix="yes" Text="!(loc.VerifyReadyDlgRepairText)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Repair"</Condition>
|
||||
</Control>
|
||||
<Control Id="RemoveTitle" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.VerifyReadyDlgRemoveTitle)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Remove"</Condition>
|
||||
</Control>
|
||||
<Control Id="RemoveText" Type="Text" X="25" Y="70" Width="320" Height="80" Hidden="yes" NoPrefix="yes" Text="!(loc.VerifyReadyDlgRemoveText)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Remove"</Condition>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)">
|
||||
<Condition Action="default">WixUI_InstallMode = "Remove"</Condition>
|
||||
</Control>
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.VerifyReadyDlgBannerBitmap)" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
</Dialog>
|
||||
<Dialog Id="MaintenanceWelcomeDlg2" Width="370" Height="270" Title="!(loc.MaintenanceWelcomeDlg_Title)">
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
|
||||
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.MaintenanceWelcomeDlgBitmap)" />
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.MaintenanceWelcomeDlgTitle)" />
|
||||
<Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.MaintenanceWelcomeDlgDescription)" />
|
||||
</Dialog>
|
||||
<InstallUISequence>
|
||||
<Show Dialog="MaintenanceWelcomeDlg2" Before="ProgressDlg">Installed AND NOT RESUME AND NOT Preselected</Show>
|
||||
</InstallUISequence>
|
||||
<Dialog Id="MaintenanceTypeDlg2" Width="370" Height="270" Title="!(loc.MaintenanceTypeDlg_Title)">
|
||||
<Control Id="ChangeButton" Type="PushButton" X="40" Y="65" Width="80" Height="17" ToolTip="!(loc.MaintenanceTypeDlgChangeButtonTooltip)" Default="yes" Text="!(loc.MaintenanceTypeDlgChangeButton)">
|
||||
<Publish Property="WixUI_InstallMode" Value="Change">1</Publish>
|
||||
</Control>
|
||||
<Control Id="ChangeText" Type="Text" X="60" Y="85" Width="280" Height="20" Text="!(loc.MaintenanceTypeDlgChangeText)" />
|
||||
<Control Id="RepairButton" Type="PushButton" X="40" Y="118" Width="80" Height="17" ToolTip="!(loc.MaintenanceTypeDlgRepairButtonTooltip)" Text="!(loc.MaintenanceTypeDlgRepairButton)">
|
||||
<Publish Property="WixUI_InstallMode" Value="Repair">1</Publish>
|
||||
</Control>
|
||||
<Control Id="RepairText" Type="Text" X="60" Y="138" Width="280" Height="30" Text="!(loc.MaintenanceTypeDlgRepairText)" />
|
||||
<Control Id="RemoveButton" Type="PushButton" X="40" Y="171" Width="80" Height="17" ToolTip="!(loc.MaintenanceTypeDlgRemoveButtonTooltip)" Text="!(loc.MaintenanceTypeDlgRemoveButton)">
|
||||
<Publish Property="WixUI_InstallMode" Value="Remove">1</Publish>
|
||||
<Condition Action="disable">ARPNOREMOVE</Condition>
|
||||
</Control>
|
||||
<Control Id="RemoveText" Type="Text" X="60" Y="191" Width="280" Height="20" NoPrefix="yes" Text="!(loc.MaintenanceTypeDlgRemoveText)">
|
||||
<Condition Action="hide">ARPNOREMOVE</Condition>
|
||||
</Control>
|
||||
<Control Id="RemoveDisabledText" Type="Text" X="60" Y="191" Width="280" Height="20" NoPrefix="yes" Text="!(loc.MaintenanceTypeDlgRemoveDisabledText)" Hidden="yes">
|
||||
<Condition Action="show">ARPNOREMOVE</Condition>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUINext)" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.MaintenanceTypeDlgBannerBitmap)" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="340" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.MaintenanceTypeDlgTitle)" />
|
||||
<Control Id="Description" Type="Text" X="25" Y="23" Width="340" Height="20" Transparent="yes" NoPrefix="yes" Text="!(loc.MaintenanceTypeDlgDescription)" />
|
||||
</Dialog>
|
||||
<Dialog Id="ExitDialog2" Width="370" Height="270" Title="!(loc.ExitDialog_Title)">
|
||||
<Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.WixUIFinish)" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUICancel)" />
|
||||
<Control Id="Bitmap1" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Hidden="yes" Text="!(loc.ExitDialogBitmap)">
|
||||
<Condition Action="show">Installed</Condition>
|
||||
</Control>
|
||||
<Control Id="Bitmap2" Type="Bitmap" X="0" Y="0" Width="370" Height="197" TabSkip="no" Hidden="yes" Text="dialog2.jpg">
|
||||
<Condition Action="show">NOT Installed</Condition>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogDescription)" />
|
||||
<Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogTitle)" />
|
||||
<Control Id="OptionalText" Type="Text" X="135" Y="110" Width="220" Height="80" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="[WIXUI_EXITDIALOGOPTIONALTEXT]">
|
||||
<Condition Action="show">WIXUI_EXITDIALOGOPTIONALTEXT AND NOT Installed</Condition>
|
||||
</Control>
|
||||
<Control Type="Icon" Id="Icon1" Width="12" Height="12" X="7" Y="203" Hidden="yes" Text="web.ico">
|
||||
<Condition Action="show">NOT Installed</Condition>
|
||||
</Control>
|
||||
<Control Type="Hyperlink" Id="Link1" Width="131" Height="10" X="22" Y="204" Hidden="yes" ToolTip="https://github.com/Open-Shell/Open-Shell-Menu">
|
||||
<Text><![CDATA[<a href="https://github.com/Open-Shell/Open-Shell-Menu">!(loc.WebLink)</a>]]></Text>
|
||||
<Condition Action="show">NOT Installed</Condition>
|
||||
</Control>
|
||||
<!-- <Control Type="Icon" Id="Icon2" Width="12" Height="12" X="7" Y="220" Hidden="yes" Text="donate.ico"> -->
|
||||
<!-- <Condition Action="show">NOT Installed</Condition> -->
|
||||
<!-- </Control> -->
|
||||
<!-- <Control Type="Hyperlink" Id="Link2" Width="112" Height="10" X="22" Y="221" Hidden="yes" ToolTip="www.paypal.com"> -->
|
||||
<!-- <Text><![CDATA[<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5N8TPRAQJWX8G&lc=US&item_name=Classic%20Shell&no_note=1&no_shipping=1¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted">!(loc.DonateLink)</a>]]></Text> -->
|
||||
<!-- <Condition Action="show">NOT Installed</Condition> -->
|
||||
<!-- </Control> -->
|
||||
<Control Type="Icon" Id="Icon3" Width="12" Height="12" X="185" Y="203" Hidden="yes" Text="facebook.ico">
|
||||
<Condition Action="show">NOT Installed</Condition>
|
||||
</Control>
|
||||
<Control Type="Hyperlink" Id="Link3" Width="140" Height="10" X="200" Y="204" Hidden="yes" ToolTip="www.facebook.com">
|
||||
<Text><![CDATA[<a href="https://www.facebook.com/classicshell">!(loc.FacebookLink)</a>]]></Text>
|
||||
<Condition Action="show">NOT Installed</Condition>
|
||||
</Control>
|
||||
<Control Id="OptionalCheckBox" Type="CheckBox" X="188" Y="220" Width="130" Height="12" Hidden="yes" Property="WIXUI_EXITDIALOGOPTIONALCHECKBOX" CheckBoxValue="1" Text="!(loc.ViewReadme)">
|
||||
<Condition Action="show">NOT Installed</Condition>
|
||||
</Control>
|
||||
</Dialog>
|
||||
<Publish Dialog="ExitDialog2" Control="Finish" Event="DoAction" Value="ViewReadme">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
|
||||
<InstallUISequence>
|
||||
<Show Dialog="ExitDialog2" OnExit="success" />
|
||||
</InstallUISequence>
|
||||
<AdminUISequence>
|
||||
<Show Dialog="ExitDialog2" OnExit="success" />
|
||||
</AdminUISequence>
|
||||
</UI>
|
||||
<UIRef Id="WixUI_Common" />
|
||||
<UIRef Id="WixUI_ErrorProgressText" />
|
||||
<DirectoryRef Id="APPLICATIONFOLDER">
|
||||
<Component Id="OpenShell.chm" Guid="29AB35F9-D611-4B34-BCE3-517C10C839AF" Win64="$(var.CS_WIN64)">
|
||||
<File Id="OpenShell.chm" KeyPath="yes" Source="..\Localization\$(var.CS_LANG_FOLDER)\OpenShell.chm" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="ClassicExplorer32.dll" Guid="21833BA5-3F17-4237-BA0C-2D01D273A27F" Win64="$(var.CS_WIN64)">
|
||||
<File Id="ClassicExplorer32.dll" KeyPath="yes" Source="Output\ClassicExplorer32.dll" Checksum="yes" SelfRegCost="0" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="ClassicExplorerSettings.exe" Guid="CBD00200-FAED-48F6-B8C1-F033BDB00A28" Win64="$(var.CS_WIN64)">
|
||||
<File Id="ClassicExplorerSettings.exe" KeyPath="yes" Source="Output\ClassicExplorerSettings.exe" Checksum="yes" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="ClassicIEDLL_32.dll" Guid="C85DEB7F-FB76-42E9-B1F4-7A7C7DCBD482" Win64="$(var.CS_WIN64)">
|
||||
<File Id="ClassicIEDLL_32.dll" KeyPath="yes" Source="Output\ClassicIEDLL_32.dll" Checksum="yes" SelfRegCost="0" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="ClassicIE_32.exe" Guid="0D0BF4CF-9753-4867-9DE5-69D3DA19DC41" Win64="$(var.CS_WIN64)">
|
||||
<File Id="ClassicIE_32.exe" KeyPath="yes" Source="Output\ClassicIE_32.exe" Checksum="yes" Vital="yes" />
|
||||
<Shortcut Id="IESettings" Name="IE Settings" Advertise="no" Description="!(loc.IESettingsDesc)" Target="[APPLICATIONFOLDER]ClassicIE_32.exe" WorkingDirectory="APPLICATIONFOLDER">
|
||||
<ShortcutProperty Key="System.AppUserModel.ID" Value="OpenShell.ClassicIE.Settings" />
|
||||
</Shortcut>
|
||||
</Component>
|
||||
<?if $(var.x64)=1 ?>
|
||||
<Component Id="ClassicExplorer64.dll" Guid="A82DBFC3-E19B-4E02-AF50-50363C2B0714" Win64="yes" DiskId="2">
|
||||
<File Id="ClassicExplorer64.dll" KeyPath="yes" Source="Output\x64\ClassicExplorer64.dll" Checksum="yes" SelfRegCost="0" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="ClassicIEDLL_64.dll" Guid="6EC7C9A0-BB8E-4B4F-9F63-D03EFEB65B41" Win64="yes" DiskId="2">
|
||||
<File Id="ClassicIEDLL_64.dll" KeyPath="yes" Source="Output\x64\ClassicIEDLL_64.dll" Checksum="yes" SelfRegCost="0" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="ClassicIE_64.exe" Guid="89BDF7B9-D8F4-46BE-9F29-344B384D753C" Win64="yes" DiskId="2">
|
||||
<File Id="ClassicIE_64.exe" KeyPath="yes" Source="Output\x64\ClassicIE_64.exe" Checksum="yes" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="StartMenu.exe" Guid="F74C0FF3-A8C0-4B6E-AFD2-F9467DE4D90B" Win64="yes" DiskId="2">
|
||||
<File Id="StartMenu.exe" KeyPath="yes" Checksum="yes" Source="Output\x64\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.Menu.Settings" />
|
||||
</Shortcut>
|
||||
</Component>
|
||||
<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>
|
||||
<?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" />
|
||||
<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.Menu.Settings" />
|
||||
</Shortcut>
|
||||
</Component>
|
||||
<Component Id="StartMenuDLL.dll" Guid="C5226061-17DE-4DF6-A088-CC84F6A7BE84" Win64="no" DiskId="2">
|
||||
<File Id="StartMenuDLL.dll" Checksum="yes" KeyPath="yes" Source="Output\StartMenuDLL.dll" Vital="yes" />
|
||||
</Component>
|
||||
<?endif ?>
|
||||
<Component Id="StartScreenLink" Guid="5C71165B-5451-417b-ADF5-86983ED2489A" Win64="$(var.CS_WIN64)">
|
||||
<Shortcut Id="StartScreen" Name="Start Screen" Advertise="no" Arguments="-togglenew" Description="!(loc.StartScreenDesc)" Target="[APPLICATIONFOLDER]StartMenu.exe" WorkingDirectory="APPLICATIONFOLDER" Icon="StartScreen.exe">
|
||||
<ShortcutProperty Key="System.AppUserModel.ID" Value="OpenShell.Menu.StartScreen" />
|
||||
<ShortcutProperty Key="System.AppUserModel.StartPinOption" Value="1" />
|
||||
<ShortcutProperty Key="System.AppUserModel.ExcludeFromShowInNewInstall" Value="1" />
|
||||
<Icon Id="StartScreen.exe" SourceFile="..\StartMenu\StartMenuDLL\startb.ico" />
|
||||
</Shortcut>
|
||||
<CreateFolder />
|
||||
<Condition>VersionNT>601</Condition>
|
||||
</Component>
|
||||
<Component Id="OpenShellReadme.rtf" Guid="A6B815ED-91BD-4F61-83B3-F98041026BB9" Win64="$(var.CS_WIN64)">
|
||||
<File Id="OpenShellReadme.rtf" KeyPath="yes" Source="..\Localization\$(var.CS_LANG_FOLDER)\OpenShellReadme.rtf" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="ExplorerL10N.ini" Guid="660F2112-3133-4022-9F1E-BC3AED2EB475" Win64="$(var.CS_WIN64)">
|
||||
<File Id="ExplorerL10N.ini" KeyPath="yes" Source="..\ClassicExplorer\ExplorerL10N.ini" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="StartMenuL10N.ini" Guid="3F784CD2-63B8-46db-888E-5AC20852601E" Win64="$(var.CS_WIN64)">
|
||||
<File Id="StartMenuL10N.ini" KeyPath="yes" Source="..\StartMenu\StartMenuL10N.ini" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="StartMenuHelperL10N.ini" Guid="144CE4DC-0C77-4793-B79A-A32E48A90E64" Win64="$(var.CS_WIN64)">
|
||||
<File Id="StartMenuHelperL10N.ini" KeyPath="yes" Source="..\StartMenu\StartMenuHelper\StartMenuHelperL10N.ini" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="Update.exe" Guid="FB6C213F-B670-4888-8B2C-12E807E335A7" Win64="$(var.CS_WIN64)">
|
||||
<File Id="Update" KeyPath="yes" Source="Output\Update.exe" Checksum="yes" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="PolicyDefinitions.zip" Guid="580A15D0-4023-471d-9D82-9D63FBA42B5D" Win64="$(var.CS_WIN64)">
|
||||
<File Id="PolicyDefinitions.zip" KeyPath="yes" Source="Output\PolicyDefinitions.zip" Vital="yes" />
|
||||
</Component>
|
||||
<?if $(var.CS_LANG_NAME)!="en-US" ?>
|
||||
<Component Id="LanguageDll" Guid="A709B553-FBFA-4863-A9E5-CCD79CAF1560" Win64="$(var.CS_WIN64)">
|
||||
<File Id="LanguageDll" KeyPath="yes" Source="..\Localization\$(var.CS_LANG_FOLDER)\$(var.CS_LANG_NAME).dll" Checksum="yes" Vital="yes" />
|
||||
</Component>
|
||||
<?endif ?>
|
||||
</DirectoryRef>
|
||||
<DirectoryRef Id="Skins">
|
||||
<Component Id="ClassicSkin.skin" Guid="301CA0BC-1DD4-4A25-8E1E-FA1A0134A814" Win64="$(var.CS_WIN64)">
|
||||
<File Id="ClassicSkin.skin" KeyPath="yes" Checksum="yes" Source="Output\Classic Skin.skin" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="FullGlass.skin" Guid="B71131E1-ED7C-4EED-9289-528B50E2C8EE" Win64="$(var.CS_WIN64)">
|
||||
<File Id="FullGlass.skin" KeyPath="yes" Checksum="yes" Source="Output\Full Glass.skin" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="SmokedGlass.skin" Guid="19BF925A-85C0-4EFC-8F0C-091BFE5355FA" Win64="$(var.CS_WIN64)">
|
||||
<File Id="SmokedGlass.skin" KeyPath="yes" Checksum="yes" Source="Output\Smoked Glass.skin" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="WindowsAero.skin" Guid="31F56072-143D-4483-9590-E928CA6A4C5B" Win64="$(var.CS_WIN64)">
|
||||
<File Id="WindowsAero.skin" KeyPath="yes" Checksum="yes" Source="Output\Windows Aero.skin" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="WindowsBasic.skin" Guid="64F8BA21-1A66-45f8-9BA6-E27156DCAAAE" Win64="$(var.CS_WIN64)">
|
||||
<File Id="WindowsBasic.skin" KeyPath="yes" Checksum="yes" Source="Output\Windows Basic.skin" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="WindowsXPLuna.skin" Guid="FBC71683-D1B5-4F6C-A14C-AD9B555D10BB" Win64="$(var.CS_WIN64)">
|
||||
<File Id="WindowsXPLuna.skin" KeyPath="yes" Checksum="yes" Source="Output\Windows XP Luna.skin" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="Windows8.skin" Guid="3787BF83-4910-4008-8C0A-C82602AE80B7" Win64="$(var.CS_WIN64)">
|
||||
<File Id="Windows8.skin" KeyPath="yes" Checksum="yes" Source="Output\Windows 8.skin" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="Metro.skin" Guid="E7ADDABB-E019-4893-B0C8-200367EEEBAC" Win64="$(var.CS_WIN64)">
|
||||
<File Id="Metro.skin" KeyPath="yes" Checksum="yes" Source="Output\Metro.skin" Vital="yes" />
|
||||
<Condition>VersionNT>601</Condition>
|
||||
</Component>
|
||||
<Component Id="ClassicSkin.skin7" Guid="24A14A38-B51B-4F6E-8922-95F868F78934" Win64="$(var.CS_WIN64)">
|
||||
<File Id="ClassicSkin.skin7" KeyPath="yes" Checksum="yes" Source="Output\Classic Skin.skin7" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="WindowsAero.skin7" Guid="4D2ED9E7-825A-4BC6-8EF9-ED142F6FE15F" Win64="$(var.CS_WIN64)">
|
||||
<File Id="WindowsAero.skin7" KeyPath="yes" Checksum="yes" Source="Output\Windows Aero.skin7" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="Windows8.skin7" Guid="BF69351E-763F-4A31-8180-7A39AA4541B9" Win64="$(var.CS_WIN64)">
|
||||
<File Id="Windows8.skin7" KeyPath="yes" Checksum="yes" Source="Output\Windows 8.skin7" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="Midnight.skin7" Guid="CE36C4AD-F3CB-4ae0-AC0A-845F5C7B3ED5" Win64="$(var.CS_WIN64)">
|
||||
<File Id="Midnight.skin7" KeyPath="yes" Checksum="yes" Source="Output\Midnight.skin7" Vital="yes" />
|
||||
</Component>
|
||||
<Component Id="Metro.skin7" Guid="4CA9B157-C098-4137-BD17-107C79CBCF44" Win64="$(var.CS_WIN64)">
|
||||
<File Id="Metro.skin7" KeyPath="yes" Checksum="yes" Source="Output\Metro.skin7" Vital="yes" />
|
||||
<Condition>VersionNT>601</Condition>
|
||||
</Component>
|
||||
<Component Id="Metallic.skin7" Guid="2167BBCA-FD42-4285-AE00-9CDDDF436B30" Win64="$(var.CS_WIN64)">
|
||||
<File Id="Metallic.skin7" KeyPath="yes" Checksum="yes" Source="Output\Metallic.skin7" Vital="yes" />
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<DirectoryRef Id="TARGETDIR">
|
||||
<Component Id="OpenShell" Guid="19EC9EFC-B901-4EAB-B800-6E98D2261077" Win64="$(var.CS_WIN64)">
|
||||
<RegistryKey Root="HKLM" Key="Software\OpenShell\OpenShell">
|
||||
<RegistryValue Type="integer" Name="Version" KeyPath="yes" Value="$(env.CS_VERSION_NUM)" />
|
||||
<RegistryValue Type="string" Name="Path" Value="[APPLICATIONFOLDER]" />
|
||||
<?if $(var.CS_LANG_NAME)!="en-US" ?>
|
||||
<RegistryValue Type="string" Name="DefaultLanguage" Value="$(var.CS_LANG_NAME)" />
|
||||
<?else ?>
|
||||
<RegistryValue Type="string" Name="DefaultLanguage" Value="" />
|
||||
<?endif ?>
|
||||
</RegistryKey>
|
||||
</Component>
|
||||
<Component Id="AutoRun" Guid="64987C22-72C7-419D-B5A5-D2E6CB4865B6" Win64="$(var.CS_WIN64)">
|
||||
<RegistryKey Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Run">
|
||||
<RegistryValue Value=""[APPLICATIONFOLDER]StartMenu.exe" -autorun" Type="string" Name="Open-Shell Menu" />
|
||||
</RegistryKey>
|
||||
</Component>
|
||||
<Component Id="TreatAs" Guid="B1E7462A-E1E2-47eb-A42C-7BD272D738AA" Win64="$(var.CS_WIN64)">
|
||||
<RegistryKey Root="HKCR" Key="CLSID\{ECD4FC4D-521C-11D0-B792-00A0C90312E1}\TreatAs" ForceDeleteOnUninstall="yes" />
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<DirectoryRef Id="StartMenuDir">
|
||||
<Component Id="HelpLink" Guid="D631C351-7BD4-42CE-813C-5D46347068AF">
|
||||
<Shortcut Id="HelpLink" Name="!(loc.HelpItem)" Advertise="no" Description="!(loc.HelpDesc)" Target="[APPLICATIONFOLDER]OpenShell.chm" WorkingDirectory="APPLICATIONFOLDER" />
|
||||
<CreateFolder />
|
||||
<Condition>START_MENU_FOLDER=1</Condition>
|
||||
</Component>
|
||||
<Component Id="ReadmeLink" Guid="A54415C8-412E-4768-8829-8898122E4AED">
|
||||
<Shortcut Id="ReadmeLink" Name="!(loc.ReadmeItem)" Advertise="no" Description="!(loc.ReadmeDesc)" Target="[APPLICATIONFOLDER]OpenShellReadme.rtf" WorkingDirectory="APPLICATIONFOLDER" />
|
||||
<CreateFolder />
|
||||
<Condition>START_MENU_FOLDER=1</Condition>
|
||||
</Component>
|
||||
<Component Id="UpdateSettingsLink" Guid="10B5A082-6C92-4EA7-AFF8-21AE3D2D7FE0">
|
||||
<Shortcut Id="UpdateSettingsLink" Name="!(loc.UpdateItem)" Advertise="no" Description="!(loc.UpdateSettingsDesc)" Target="[APPLICATIONFOLDER]Update.exe" WorkingDirectory="APPLICATIONFOLDER" />
|
||||
<CreateFolder />
|
||||
<Condition>START_MENU_FOLDER=1</Condition>
|
||||
</Component>
|
||||
<Component Id="ExplorerSettingsLink" Guid="6EC027F2-115D-4110-8189-DDAFC78169EC">
|
||||
<Shortcut Id="ExplorerSettingsLink" Name="!(loc.ExplorerItem)" Advertise="no" Description="!(loc.ExplorerSettingsDesc)" Target="[APPLICATIONFOLDER]ClassicExplorerSettings.exe" WorkingDirectory="APPLICATIONFOLDER">
|
||||
<ShortcutProperty Key="System.AppUserModel.ID" Value="OpenShell.ClassicExplorer.Settings" />
|
||||
</Shortcut>
|
||||
<CreateFolder />
|
||||
<Condition>START_MENU_FOLDER=1</Condition>
|
||||
</Component>
|
||||
<Component Id="MenuSettingsLink" Guid="F2B638D3-EBE1-4C8F-9C53-08A4F21ACFA3">
|
||||
<Shortcut Id="MenuSettingsLink" Name="!(loc.StartMenuItem)" Advertise="no" Description="!(loc.StartSettingsDesc)" Target="[APPLICATIONFOLDER]StartMenu.exe" WorkingDirectory="APPLICATIONFOLDER" Arguments="-settings">
|
||||
<ShortcutProperty Key="System.AppUserModel.ID" Value="OpenShell.Menu.Settings" />
|
||||
</Shortcut>
|
||||
<CreateFolder />
|
||||
<Condition>START_MENU_FOLDER=1</Condition>
|
||||
</Component>
|
||||
<Component Id="IESettingsLink" Guid="10C0226C-22A9-49E4-AA65-C96AD7A504CC">
|
||||
<Shortcut Id="IESettingsLink" Name="!(loc.IEItem)" Advertise="no" Description="!(loc.IESettingsDesc)" Target="[APPLICATIONFOLDER]ClassicIE_32.exe" WorkingDirectory="APPLICATIONFOLDER">
|
||||
<ShortcutProperty Key="System.AppUserModel.ID" Value="OpenShell.ClassicIE.Settings" />
|
||||
</Shortcut>
|
||||
<CreateFolder />
|
||||
<Condition>START_MENU_FOLDER=1</Condition>
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<DirectoryRef Id="SystemFolder">
|
||||
<Component Id="StartMenuHelper32.dll" Guid="3B06791F-61E6-4008-9869-A47AE617D809" Win64="no">
|
||||
<File Id="StartMenuHelper32.dll" KeyPath="yes" Source="Output\StartMenuHelper32.dll" Checksum="yes" SelfRegCost="0" Vital="yes" />
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<DirectoryRef Id="System64Folder">
|
||||
<?if $(var.x64)=1 ?>
|
||||
<Component Id="StartMenuHelper64.dll" Guid="D103AD49-2C58-4109-9D26-AF1FAD0F556B" Win64="yes" DiskId="2">
|
||||
<File Id="StartMenuHelper64.dll" KeyPath="yes" Source="Output\x64\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" />
|
||||
<Property Id="ApplicationFolderName" Value="Open-Shell" />
|
||||
<Property Id="WixAppFolder" Value="WixPerMachineFolder" />
|
||||
<Property Id="ALLUSERS" Value="1" />
|
||||
<Property Id="WixShellExecTarget" Value="[#OpenShellReadme.rtf]" />
|
||||
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
|
||||
<Property Id="ARPHELPLINK" Value="http://www.classicshell.net/forum/" />
|
||||
<Property Id="ARPSIZE" Value="9000" />
|
||||
<Property Id="ARPURLINFOABOUT" Value="http://www.classicshell.net/" />
|
||||
<Property Id="ARPNOMODIFY" Value="1" />
|
||||
<Property Id="ARPNOREPAIR" Value="1" />
|
||||
<Property Id="START_MENU_FOLDER" Value="1" />
|
||||
<Property Id="NOSTART" Value="0" />
|
||||
<Property Id="IE_BUILD" Value="0">
|
||||
<RegistrySearch Id="IEBuild" Root="HKLM" Key="Software\Microsoft\Internet Explorer" Name="Build" Type="raw" />
|
||||
</Property>
|
||||
<Property Id="APPLICATIONFOLDER">
|
||||
<RegistrySearch Id="Path" Root="HKLM" Key="Software\OpenShell\OpenShell" Name="Path" Type="raw" Win64="$(var.CS_WIN64)" />
|
||||
</Property>
|
||||
<CustomAction Id="ViewReadme" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
|
||||
<CustomAction Id="LaunchStartMenu" Impersonate="yes" ExeCommand="" FileKey="StartMenu.exe" Return="asyncNoWait" />
|
||||
<CustomAction Id="CloseStartMenu" Impersonate="yes" BinaryKey="SetupHelper.exe" Return="ignore" ExeCommand="exitSM" />
|
||||
<WixVariable Id="WixUIBannerBmp" Value="..\Setup\banner.jpg" />
|
||||
<WixVariable Id="WixUIDialogBmp" Value="..\Setup\dialog.jpg" />
|
||||
<Upgrade Id="$(var.CS_UPGRADE)">
|
||||
<UpgradeVersion Property="PREVIOUSVERSIONSINSTALLED" Maximum="$(env.CS_VERSION)" MigrateFeatures="yes" />
|
||||
<UpgradeVersion Property="NEWERPRODUCTFOUND" Minimum="$(env.CS_VERSION)" IncludeMinimum="yes" OnlyDetect="yes" />
|
||||
</Upgrade>
|
||||
<InstallExecuteSequence>
|
||||
<RemoveExistingProducts After="InstallInitialize" />
|
||||
<Custom Action="CloseStartMenu" Before="InstallValidate"><![CDATA[((!Menu=3) AND (&Menu=2)) OR PREVIOUSVERSIONSINSTALLED OR REINSTALL]]></Custom>
|
||||
<Custom Action="LaunchStartMenu" After="InstallFinalize"><![CDATA[(!Menu=3 OR &Menu=3) AND NOT REMOVE AND NOSTART<>1]]></Custom>
|
||||
</InstallExecuteSequence>
|
||||
<Binary Id="SetupHelper.exe" SourceFile="Output\SetupHelper.exe" />
|
||||
<Binary Id="dialog2.jpg" SourceFile="..\Setup\dialog2.jpg" />
|
||||
<Binary Id="donate.ico" SourceFile="..\Setup\donate.ico" />
|
||||
<Binary Id="web.ico" SourceFile="..\Setup\web.ico" />
|
||||
<Binary Id="facebook.ico" SourceFile="..\Setup\facebook.ico" />
|
||||
</Product>
|
||||
</Wix>
|
||||
91
Src/Setup/SetupHelper/SetupHelper.cpp
Normal file
@@ -0,0 +1,91 @@
|
||||
// Classic Shell (c) 2009-2017, Ivo Beltchev
|
||||
// Open-Shell (c) 2017-2018, The Open-Shell Team
|
||||
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
|
||||
|
||||
#define STRICT_TYPED_ITEMIDS
|
||||
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
|
||||
#include <windows.h>
|
||||
#include <atlstr.h>
|
||||
#include "ResourceHelper.h"
|
||||
|
||||
HINSTANCE g_hInstance;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
int ExitStartMenu( void )
|
||||
{
|
||||
HKEY hKey=NULL;
|
||||
if (RegCreateKeyEx(HKEY_LOCAL_MACHINE,L"SOFTWARE\\OpenShell\\OpenShell",0,NULL,REG_OPTION_NON_VOLATILE,KEY_READ|KEY_QUERY_VALUE|KEY_WOW64_64KEY,NULL,&hKey,NULL)==ERROR_SUCCESS)
|
||||
{
|
||||
DWORD type=0;
|
||||
wchar_t path[_MAX_PATH];
|
||||
DWORD size=sizeof(path);
|
||||
if (RegQueryValueEx(hKey,L"Path",0,&type,(BYTE*)path,&size)==ERROR_SUCCESS && type==REG_SZ)
|
||||
{
|
||||
STARTUPINFO startupInfo={sizeof(startupInfo)};
|
||||
PROCESS_INFORMATION processInfo;
|
||||
memset(&processInfo,0,sizeof(processInfo));
|
||||
wcscat_s(path,L"StartMenu.exe");
|
||||
HANDLE h=CreateFile(path,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
|
||||
if (h!=INVALID_HANDLE_VALUE)
|
||||
{
|
||||
CloseHandle(h);
|
||||
wcscat_s(path,L" -exit");
|
||||
if (CreateProcess(NULL,path,NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo))
|
||||
{
|
||||
CloseHandle(processInfo.hThread);
|
||||
WaitForSingleObject(processInfo.hProcess,5000);
|
||||
CloseHandle(processInfo.hProcess);
|
||||
}
|
||||
}
|
||||
}
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
HWND updateOwner=FindWindow(L"Update.COwnerWindow",NULL);
|
||||
if (updateOwner)
|
||||
PostMessage(updateOwner,WM_CLEAR,0,0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int FixVersion( void )
|
||||
{
|
||||
HKEY hKey=NULL;
|
||||
if (RegCreateKeyEx(HKEY_LOCAL_MACHINE,L"SOFTWARE\\OpenShell\\OpenShell",0,NULL,REG_OPTION_NON_VOLATILE,KEY_READ|KEY_WRITE|KEY_WOW64_64KEY,NULL,&hKey,NULL)==ERROR_SUCCESS)
|
||||
{
|
||||
DWORD winVer=GetVersionEx(GetModuleHandle(L"user32.dll"));
|
||||
RegSetValueEx(hKey,L"WinVersion",NULL,REG_DWORD,(BYTE*)&winVer,sizeof(DWORD));
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Setup Helper - performs custom actions during Open-Shell install/uninstall
|
||||
// Usage:
|
||||
// exitSM // exits the start menu if it is running
|
||||
// fixVersion // sets the correct OS version
|
||||
|
||||
int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrCmdLine, int nCmdShow )
|
||||
{
|
||||
// MessageBox(NULL,lpstrCmdLine,L"Command Line",MB_OK|MB_SYSTEMMODAL);
|
||||
|
||||
int count;
|
||||
wchar_t *const *params=CommandLineToArgvW(lpstrCmdLine,&count);
|
||||
if (!params) return 1;
|
||||
|
||||
g_hInstance=hInstance;
|
||||
|
||||
for (;count>0;count--,params++)
|
||||
{
|
||||
if (_wcsicmp(params[0],L"exitSM")==0)
|
||||
{
|
||||
return ExitStartMenu();
|
||||
}
|
||||
if (_wcsicmp(params[0],L"fixVersion")==0)
|
||||
{
|
||||
return FixVersion();
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
36
Src/Setup/SetupHelper/SetupHelper.manifest
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<assemblyIdentity
|
||||
version="1.0.0.0"
|
||||
processorArchitecture="X86"
|
||||
name="Open-Shell.Menu"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Setup Helper</description>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- Windows Vista -->
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
|
||||
<!-- Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||
<!-- Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||
<!-- Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||
<!-- Windows 10 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||
</application>
|
||||
</compatibility>
|
||||
</assembly>
|
||||
104
Src/Setup/SetupHelper/SetupHelper.vcxproj
Normal file
@@ -0,0 +1,104 @@
|
||||
<?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|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}</ProjectGuid>
|
||||
<RootNamespace>SetupHelper</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SetupHelper.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="SetupHelper.manifest" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Lib\Lib.vcxproj">
|
||||
<Project>{d42fe717-485b-492d-884a-1999f6d51154}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
BIN
Src/Setup/UpdateBin/Flags/gd-GB.bmp
Normal file
|
After Width: | Height: | Size: 848 B |
BIN
Src/Setup/UpdateBin/UpdateBin.rc
Normal file
506
Src/Setup/UpdateBin/UpdateBin.vcxproj
Normal file
@@ -0,0 +1,506 @@
|
||||
<?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="update_4.1.0|Win32">
|
||||
<Configuration>update_4.1.0</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.0|Win32">
|
||||
<Configuration>update_4.2.0</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.1|Win32">
|
||||
<Configuration>update_4.2.1</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.2|Win32">
|
||||
<Configuration>update_4.2.2</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.3|Win32">
|
||||
<Configuration>update_4.2.3</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.4|Win32">
|
||||
<Configuration>update_4.2.4</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.5|Win32">
|
||||
<Configuration>update_4.2.5</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.6|Win32">
|
||||
<Configuration>update_4.2.6</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.7|Win32">
|
||||
<Configuration>update_4.2.7</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.3.0|Win32">
|
||||
<Configuration>update_4.3.0</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.3.1|Win32">
|
||||
<Configuration>update_4.3.1</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F92A5473-F9E0-412F-923C-6632A66D13C1}</ProjectGuid>
|
||||
<RootNamespace>UpdateBin</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.1|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.0|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.7|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.6|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.5|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.4|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.3|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.2|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.1|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.0|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.1.0|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.1|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.0|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.7|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.6|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.5|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.4|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.3|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.2|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.1|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.0|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.1.0|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.1.0|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.0|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.1|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.2|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.3|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.4|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.5|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.6|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.7|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.0|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.1|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.1.0|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.0|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.1|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.2|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.3|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.4|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.5|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.6|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.7|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.0|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.1|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="update_4.1.0.txt" />
|
||||
<Text Include="update_4.2.0.txt" />
|
||||
<Text Include="update_4.2.1.txt" />
|
||||
<Text Include="update_4.2.2.txt" />
|
||||
<Text Include="update_4.2.3.txt" />
|
||||
<Text Include="update_4.2.4.txt" />
|
||||
<Text Include="update_4.2.5.txt" />
|
||||
<Text Include="update_4.2.6.txt" />
|
||||
<Text Include="update_4.2.7.txt" />
|
||||
<Text Include="update_4.3.0.txt" />
|
||||
<Text Include="update_4.3.1.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="UpdateBin.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Utility\Utility.vcxproj">
|
||||
<Project>{dae66c9b-05dc-4ace-97da-2547b490bbff}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
10
Src/Setup/UpdateBin/resource.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#define IDS_VERSION 16
|
||||
#define IDS_NEWS 17
|
||||
#define IDS_INSTALL_URL 18
|
||||
#define IDS_INSTALL_SIGNER 19
|
||||
#define IDS_LNG_URL 20
|
||||
#define IDS_LNG_VERSION 21
|
||||
#define IDS_LNG_CRC 22
|
||||
#define IDS_UPDATE_LINK 23
|
||||
#define IDS_LANGUAGE_LINK 24
|
||||
#define IDS_ALT_URL 25
|
||||
BIN
Src/Setup/UpdateBin/update_4.1.0.txt
Normal file
BIN
Src/Setup/UpdateBin/update_4.2.0.txt
Normal file
BIN
Src/Setup/UpdateBin/update_4.2.1.txt
Normal file
BIN
Src/Setup/UpdateBin/update_4.2.2.txt
Normal file
BIN
Src/Setup/UpdateBin/update_4.2.3.txt
Normal file
BIN
Src/Setup/UpdateBin/update_4.2.4.txt
Normal file
BIN
Src/Setup/UpdateBin/update_4.2.5.txt
Normal file
BIN
Src/Setup/UpdateBin/update_4.2.6.txt
Normal file
BIN
Src/Setup/UpdateBin/update_4.2.7.txt
Normal file
BIN
Src/Setup/UpdateBin/update_4.3.0.txt
Normal file
BIN
Src/Setup/UpdateBin/update_4.3.1.txt
Normal file
226
Src/Setup/Utility/LoggingOptions.cpp
Normal file
@@ -0,0 +1,226 @@
|
||||
// Classic Shell (c) 2009-2017, Ivo Beltchev
|
||||
// Open-Shell (c) 2017-2018, The Open-Shell Team
|
||||
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
|
||||
|
||||
#ifndef _WIN64
|
||||
|
||||
#include "resource.h"
|
||||
#include <atlbase.h>
|
||||
#include <atltypes.h>
|
||||
#include <atlstr.h>
|
||||
#include <atlwin.h>
|
||||
#include "..\StartMenu\StartMenuDLL\LogManager.h"
|
||||
#include "StringUtils.h"
|
||||
#include <shlobj.h>
|
||||
|
||||
static int g_MenuCheckboxes[][2]=
|
||||
{
|
||||
{IDC_CHECKOPEN, LOG_OPEN},
|
||||
{IDC_CHECKITEMS, LOG_ITEMS},
|
||||
{IDC_CHECKEXECUTE, LOG_EXECUTE},
|
||||
{IDC_CHECKMFU, LOG_MFU},
|
||||
{IDC_CHECKNEW, LOG_NEW},
|
||||
{IDC_CHECKAPPS, LOG_APPS},
|
||||
{IDC_CHECKSEARCH, LOG_SEARCH},
|
||||
{IDC_CHECKSEARCH_SQL, LOG_SEARCH_SQL},
|
||||
{IDC_CHECKMOUSE, LOG_MOUSE},
|
||||
{IDC_CHECKCACHE, LOG_CACHE},
|
||||
};
|
||||
|
||||
static int g_FileLinks[]=
|
||||
{
|
||||
IDC_SYSLINKSTART,
|
||||
IDC_SYSLINKCACHE,
|
||||
IDC_SYSLINKSTARTUP,
|
||||
IDC_SYSLINKEXPLORER,
|
||||
IDC_SYSLINKIE,
|
||||
};
|
||||
|
||||
class CLoggingDialog: public CDialogImpl<CLoggingDialog>
|
||||
{
|
||||
public:
|
||||
CLoggingDialog( void ) {}
|
||||
|
||||
BEGIN_MSG_MAP( CLoggingDialog )
|
||||
MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog )
|
||||
COMMAND_HANDLER( IDOK, BN_CLICKED, OnOK )
|
||||
COMMAND_HANDLER( IDCANCEL, BN_CLICKED, OnCancel )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKSTART, NM_CLICK, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKSTART, NM_RETURN, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKCACHE, NM_CLICK, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKCACHE, NM_RETURN, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKSTARTUP, NM_CLICK, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKSTARTUP, NM_RETURN, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKEXPLORER, NM_CLICK, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKEXPLORER, NM_RETURN, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKIE, NM_CLICK, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKIE, NM_RETURN, OnLink )
|
||||
REFLECT_NOTIFICATIONS()
|
||||
END_MSG_MAP()
|
||||
|
||||
enum { IDD=IDD_LOGSETTINGS };
|
||||
|
||||
protected:
|
||||
LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
|
||||
LRESULT OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnLink( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
|
||||
|
||||
private:
|
||||
DWORD GetSetting( const wchar_t *regPath, const wchar_t *name );
|
||||
void SetSetting( const wchar_t *regPath, const wchar_t *name, DWORD value );
|
||||
CString GetPathForLink( int link );
|
||||
};
|
||||
|
||||
DWORD CLoggingDialog::GetSetting( const wchar_t *regPath, const wchar_t *name )
|
||||
{
|
||||
CRegKey regKey;
|
||||
if (regKey.Open(HKEY_CURRENT_USER,regPath,KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS)
|
||||
{
|
||||
DWORD value;
|
||||
if (regKey.QueryDWORDValue(name,value)==ERROR_SUCCESS)
|
||||
return value;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CLoggingDialog::SetSetting( const wchar_t *regPath, const wchar_t *name, DWORD value )
|
||||
{
|
||||
CRegKey regKey;
|
||||
if (regKey.Create(HKEY_CURRENT_USER,regPath)==ERROR_SUCCESS)
|
||||
regKey.SetDWORDValue(name,value);
|
||||
}
|
||||
|
||||
CString CLoggingDialog::GetPathForLink( int link )
|
||||
{
|
||||
const wchar_t *path=NULL;
|
||||
if (link==IDC_SYSLINKSTART)
|
||||
path=L"%LOCALAPPDATA%\\OpenShell\\StartMenuLog.txt";
|
||||
else if (link==IDC_SYSLINKCACHE)
|
||||
path=L"%LOCALAPPDATA%\\OpenShell\\DataCache.txt";
|
||||
else if (link==IDC_SYSLINKSTARTUP)
|
||||
path=L"%LOCALAPPDATA%\\OpenShell\\StartupLog.txt";
|
||||
else if (link==IDC_SYSLINKEXPLORER)
|
||||
path=L"%LOCALAPPDATA%\\OpenShell\\ExplorerLog.txt";
|
||||
else if (link==IDC_SYSLINKIE)
|
||||
path=L"%LOCALAPPDATA%\\OpenShell\\ClassicIELog.txt";
|
||||
else
|
||||
return CString();
|
||||
|
||||
wchar_t fname[_MAX_PATH];
|
||||
Strcpy(fname,_countof(fname),path);
|
||||
DoEnvironmentSubst(fname,_countof(fname));
|
||||
return fname;
|
||||
}
|
||||
|
||||
LRESULT CLoggingDialog::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
|
||||
{
|
||||
DWORD log=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogCategories");
|
||||
for (int i=0;i<_countof(g_MenuCheckboxes);i++)
|
||||
{
|
||||
if (log&g_MenuCheckboxes[i][1])
|
||||
CheckDlgButton(g_MenuCheckboxes[i][0],BST_CHECKED);
|
||||
}
|
||||
|
||||
log=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogStartup");
|
||||
if (log)
|
||||
CheckDlgButton(IDC_CHECKSTARTUP,BST_CHECKED);
|
||||
|
||||
log=GetSetting(L"Software\\OpenShell\\ClassicExplorer\\Settings",L"LogLevel");
|
||||
if (log)
|
||||
CheckDlgButton(IDC_CHECKEXPLORER,BST_CHECKED);
|
||||
|
||||
log=GetSetting(L"Software\\OpenShell\\ClassicIE\\Settings",L"LogLevel");
|
||||
if (log)
|
||||
CheckDlgButton(IDC_CHECKIE,BST_CHECKED);
|
||||
|
||||
CWindow tooltip;
|
||||
tooltip.Create(TOOLTIPS_CLASS,m_hWnd,NULL,NULL,WS_POPUP|TTS_NOPREFIX);
|
||||
for (int i=0;i<_countof(g_FileLinks);i++)
|
||||
{
|
||||
TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,(UINT_PTR)GetDlgItem(g_FileLinks[i]).m_hWnd};
|
||||
CString str=GetPathForLink(g_FileLinks[i]);
|
||||
tool.lpszText=(LPWSTR)(LPCWSTR)str;
|
||||
tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
LRESULT CLoggingDialog::OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
int res=0;
|
||||
DWORD log=0;
|
||||
for (int i=0;i<_countof(g_MenuCheckboxes);i++)
|
||||
{
|
||||
if (IsDlgButtonChecked(g_MenuCheckboxes[i][0])==BST_CHECKED)
|
||||
log|=g_MenuCheckboxes[i][1];
|
||||
}
|
||||
if (log!=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogCategories"))
|
||||
{
|
||||
SetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogCategories",log);
|
||||
res=1;
|
||||
}
|
||||
|
||||
log=IsDlgButtonChecked(IDC_CHECKSTARTUP)==BST_CHECKED?1:0;
|
||||
if (log!=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogStartup"))
|
||||
{
|
||||
SetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogStartup",log);
|
||||
res=1;
|
||||
}
|
||||
|
||||
log=IsDlgButtonChecked(IDC_CHECKEXPLORER)==BST_CHECKED?1:0;
|
||||
if (log!=GetSetting(L"Software\\OpenShell\\ClassicExplorer\\Settings",L"LogLevel"))
|
||||
{
|
||||
SetSetting(L"Software\\OpenShell\\ClassicExplorer\\Settings",L"LogLevel",log);
|
||||
res=1;
|
||||
}
|
||||
|
||||
log=IsDlgButtonChecked(IDC_CHECKIE)==BST_CHECKED?1:0;
|
||||
if (log!=GetSetting(L"Software\\OpenShell\\ClassicIE\\Settings",L"LogLevel"))
|
||||
{
|
||||
SetSetting(L"Software\\OpenShell\\ClassicIE\\Settings",L"LogLevel",log);
|
||||
res=1;
|
||||
}
|
||||
|
||||
EndDialog(res);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CLoggingDialog::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
EndDialog(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CLoggingDialog::OnLink( int idCtrl, LPNMHDR pnmh, BOOL& bHandled )
|
||||
{
|
||||
CString path=GetPathForLink(idCtrl);
|
||||
if (!path.IsEmpty())
|
||||
{
|
||||
PIDLIST_ABSOLUTE pidl;
|
||||
if (SUCCEEDED(SHParseDisplayName(path,NULL,&pidl,0,NULL)))
|
||||
{
|
||||
HRESULT hr=SHOpenFolderAndSelectItems(pidl,0,NULL,0);
|
||||
ILFree(pidl);
|
||||
}
|
||||
else
|
||||
{
|
||||
wchar_t dir[_MAX_PATH];
|
||||
Strcpy(dir,_countof(dir),path);
|
||||
PathRemoveFileSpec(dir);
|
||||
ShellExecute(NULL,L"open",dir,NULL,dir,SW_SHOWNORMAL);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EditLoggingOptions( void )
|
||||
{
|
||||
if (CLoggingDialog().DoModal(NULL))
|
||||
{
|
||||
MessageBox(NULL,L"The changes to the logging options will take effect after you restart.",L"Logging options",MB_OK|MB_ICONINFORMATION);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
1197
Src/Setup/Utility/ManualUninstall.cpp
Normal file
441
Src/Setup/Utility/MetroColorViewer.cpp
Normal file
@@ -0,0 +1,441 @@
|
||||
// Classic Shell (c) 2009-2017, Ivo Beltchev
|
||||
// Open-Shell (c) 2017-2018, The Open-Shell Team
|
||||
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
|
||||
|
||||
#ifndef _WIN64
|
||||
|
||||
#define STRICT_TYPED_ITEMIDS
|
||||
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
|
||||
#include <atlbase.h>
|
||||
#include <atltypes.h>
|
||||
#include <atlstr.h>
|
||||
#include <atlwin.h>
|
||||
#include "resource.h"
|
||||
#include "StringUtils.h"
|
||||
#include "ResourceHelper.h"
|
||||
|
||||
//#define WRITE_COLORS
|
||||
//#define READ_COLORS
|
||||
|
||||
#ifdef READ_COLORS
|
||||
#undef WRITE_COLORS
|
||||
#endif
|
||||
|
||||
static struct
|
||||
{
|
||||
const wchar_t *name;
|
||||
int code;
|
||||
} g_SystemColors[]=
|
||||
{
|
||||
{L"SystemScrollbar",COLOR_SCROLLBAR},
|
||||
{L"SystemBackground",COLOR_BACKGROUND},
|
||||
{L"SystemActiveCaption",COLOR_ACTIVECAPTION},
|
||||
{L"SystemInactiveCaption",COLOR_INACTIVECAPTION},
|
||||
{L"SystemMenu",COLOR_MENU},
|
||||
{L"SystemWindow",COLOR_WINDOW},
|
||||
{L"SystemWindowFrame",COLOR_WINDOWFRAME},
|
||||
{L"SystemMenuText",COLOR_MENUTEXT},
|
||||
{L"SystemWindowText",COLOR_WINDOWTEXT},
|
||||
{L"SystemCaptionText",COLOR_CAPTIONTEXT},
|
||||
{L"SystemActiveBorder",COLOR_ACTIVEBORDER},
|
||||
{L"SystemInactiveBorder",COLOR_INACTIVEBORDER},
|
||||
{L"SystemAppWorkspace",COLOR_APPWORKSPACE},
|
||||
{L"SystemHighlight",COLOR_HIGHLIGHT},
|
||||
{L"SystemHighlightText",COLOR_HIGHLIGHTTEXT},
|
||||
{L"SystemBtnFace",COLOR_BTNFACE},
|
||||
{L"SystemBtnShadow",COLOR_BTNSHADOW},
|
||||
{L"SystemGrayText",COLOR_GRAYTEXT},
|
||||
{L"SystemBtnText",COLOR_BTNTEXT},
|
||||
{L"SystemInactiveCaptionText",COLOR_INACTIVECAPTIONTEXT},
|
||||
{L"SystemBtnHighlight",COLOR_BTNHIGHLIGHT},
|
||||
{L"System3DDKShadow",COLOR_3DDKSHADOW},
|
||||
{L"System3DLight",COLOR_3DLIGHT},
|
||||
{L"SystemInfoText",COLOR_INFOTEXT},
|
||||
{L"SystemInfoBK",COLOR_INFOBK},
|
||||
{L"SystemHotLight",COLOR_HOTLIGHT},
|
||||
{L"SystemGradientActiveCaption",COLOR_GRADIENTACTIVECAPTION},
|
||||
{L"SystemGradientInactiveCaption",COLOR_GRADIENTINACTIVECAPTION},
|
||||
{L"SystemMenuHilight",COLOR_MENUHILIGHT},
|
||||
{L"SystemMenuBar",COLOR_MENUBAR},
|
||||
};
|
||||
|
||||
#ifndef READ_COLORS
|
||||
typedef int (WINAPI *TGetImmersiveUserColorSetPreference)(bool bForceCheckRegistry, bool bSkipCheckOnFail);
|
||||
typedef int (WINAPI *TGetImmersiveColorSetCount)();
|
||||
typedef DWORD (WINAPI *TGetImmersiveColorFromColorSetEx)(UINT dwImmersiveColorSet, UINT dwImmersiveColorType, bool bIgnoreHighContrast, UINT dwHighContrastCacheMode);
|
||||
typedef const wchar_t **(WINAPI *TGetImmersiveColorNamedTypeByIndex)(UINT dwImmersiveColorType);
|
||||
typedef int (WINAPI *TGetImmersiveColorTypeFromName)(const wchar_t *name);
|
||||
|
||||
static TGetImmersiveUserColorSetPreference GetImmersiveUserColorSetPreference;
|
||||
static TGetImmersiveColorFromColorSetEx GetImmersiveColorFromColorSetEx;
|
||||
static TGetImmersiveColorSetCount GetImmersiveColorSetCount;
|
||||
static TGetImmersiveColorNamedTypeByIndex GetImmersiveColorNamedTypeByIndex;
|
||||
static TGetImmersiveColorTypeFromName GetImmersiveColorTypeFromName;
|
||||
#endif
|
||||
|
||||
struct MetroColor
|
||||
{
|
||||
CString name;
|
||||
CString NAME;
|
||||
int type;
|
||||
DWORD color;
|
||||
};
|
||||
|
||||
static std::vector<MetroColor> g_MetroColors;
|
||||
static int g_MaxMetroColorType;
|
||||
|
||||
class CMetroColorViewer: public CDialogImpl<CMetroColorViewer>
|
||||
{
|
||||
public:
|
||||
CMetroColorViewer( void );
|
||||
|
||||
BEGIN_MSG_MAP( CMetroColorViewer )
|
||||
MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog )
|
||||
MESSAGE_HANDLER( WM_CLOSE, OnClose )
|
||||
COMMAND_HANDLER( IDCANCEL, BN_CLICKED, OnCancel )
|
||||
COMMAND_HANDLER( IDC_EDIT1, EN_UPDATE, OnUpdateSet )
|
||||
COMMAND_HANDLER( IDC_EDIT2, EN_UPDATE, OnUpdateFilter )
|
||||
NOTIFY_HANDLER( IDC_LIST1, NM_CUSTOMDRAW, OnCustomDraw )
|
||||
NOTIFY_HANDLER( IDC_LIST1, LVN_COLUMNCLICK, OnColumnClick )
|
||||
REFLECT_NOTIFICATIONS()
|
||||
END_MSG_MAP()
|
||||
|
||||
enum { IDD=IDD_COLORS };
|
||||
|
||||
protected:
|
||||
LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
|
||||
LRESULT OnClose( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
|
||||
LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnUpdateSet( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnUpdateFilter( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
|
||||
LRESULT OnColumnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
|
||||
|
||||
private:
|
||||
int m_ColorSet;
|
||||
int m_SortColumn;
|
||||
CString m_Filter;
|
||||
void UpdateRows( void );
|
||||
void UpdateColors( void );
|
||||
void SetSortColumn( int sort );
|
||||
|
||||
static int CALLBACK CompareFunc( LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort );
|
||||
};
|
||||
|
||||
CMetroColorViewer::CMetroColorViewer( void )
|
||||
{
|
||||
m_ColorSet=-1;
|
||||
m_SortColumn=-1;
|
||||
}
|
||||
|
||||
int CALLBACK CMetroColorViewer::CompareFunc( LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort )
|
||||
{
|
||||
if (lParamSort==1)
|
||||
{
|
||||
// type
|
||||
lParam1=g_MetroColors[lParam1].type;
|
||||
lParam2=g_MetroColors[lParam2].type;
|
||||
}
|
||||
if (lParam1<lParam2) return -1;
|
||||
if (lParam1>lParam2) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
|
||||
{
|
||||
#ifdef READ_COLORS
|
||||
m_ColorSet=0;
|
||||
int setCount=1;
|
||||
GetDlgItem(IDC_EDIT1).EnableWindow(FALSE);
|
||||
#else
|
||||
int setCount=GetImmersiveColorSetCount();
|
||||
#endif
|
||||
SendDlgItemMessage(IDC_SPIN1,UDM_SETRANGE,0,MAKELONG(setCount-1,-1));
|
||||
SetDlgItemInt(IDC_EDIT1,-1,TRUE);
|
||||
SendDlgItemMessage(IDC_LIST1,LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT|LVS_EX_DOUBLEBUFFER,LVS_EX_FULLROWSELECT|LVS_EX_DOUBLEBUFFER);
|
||||
|
||||
HWND list=GetDlgItem(IDC_LIST1);
|
||||
{
|
||||
LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,380,L"Name"};
|
||||
ListView_InsertColumn(list,0,&column);
|
||||
}
|
||||
{
|
||||
LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,50,L"#"};
|
||||
ListView_InsertColumn(list,1,&column);
|
||||
}
|
||||
{
|
||||
LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,100,L"Code"};
|
||||
ListView_InsertColumn(list,2,&column);
|
||||
}
|
||||
{
|
||||
LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,100,L"Color"};
|
||||
ListView_InsertColumn(list,3,&column);
|
||||
}
|
||||
int order[]={1,0,2,3};
|
||||
ListView_SetColumnOrderArray(list,_countof(order),order);
|
||||
SetSortColumn(1);
|
||||
|
||||
UpdateRows();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void CMetroColorViewer::SetSortColumn( int sort )
|
||||
{
|
||||
CWindow list=GetDlgItem(IDC_LIST1);
|
||||
list.SendMessage(LVM_SETSELECTEDCOLUMN,m_SortColumn);
|
||||
CWindow header=ListView_GetHeader(list);
|
||||
HDITEM hdItem= {HDI_FORMAT};
|
||||
hdItem.fmt= HDF_LEFT|HDF_STRING;
|
||||
if (m_SortColumn>=0)
|
||||
header.SendMessage(HDM_SETITEM,m_SortColumn,(LPARAM)&hdItem);
|
||||
hdItem.fmt|= HDF_SORTDOWN;
|
||||
m_SortColumn=sort;
|
||||
header.SendMessage(HDM_SETITEM,m_SortColumn,(LPARAM)&hdItem);
|
||||
}
|
||||
|
||||
void CMetroColorViewer::UpdateRows( void )
|
||||
{
|
||||
CWindow list=GetDlgItem(IDC_LIST1);
|
||||
if (!list.IsWindow()) return;
|
||||
|
||||
std::vector<CString> tokens;
|
||||
for (const wchar_t *str=m_Filter;*str;)
|
||||
{
|
||||
wchar_t token[256];
|
||||
str=GetToken(str,token,_countof(token),L" ");
|
||||
if (token[0])
|
||||
tokens.push_back(token);
|
||||
}
|
||||
list.SetRedraw(FALSE);
|
||||
ListView_DeleteAllItems(list);
|
||||
for (int i=0;i<(int)g_MetroColors.size();i++)
|
||||
{
|
||||
const MetroColor &color=g_MetroColors[i];
|
||||
bool found=true;
|
||||
for (std::vector<CString>::const_iterator it=tokens.begin();it!=tokens.end();++it)
|
||||
{
|
||||
if (!wcsstr(color.NAME,*it))
|
||||
{
|
||||
found=false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) continue;
|
||||
LVITEM item={LVIF_PARAM|LVIF_TEXT};
|
||||
item.lParam=i;
|
||||
item.pszText=(wchar_t*)(const wchar_t*)color.name;
|
||||
item.iItem=10000;
|
||||
int idx=ListView_InsertItem(list,&item);
|
||||
|
||||
wchar_t text[20];
|
||||
Sprintf(text,_countof(text),L"%d",color.type);
|
||||
ListView_SetItemText(list,idx,1,text);
|
||||
}
|
||||
ListView_SortItems(list,CompareFunc,m_SortColumn);
|
||||
list.SetRedraw(TRUE);
|
||||
UpdateColors();
|
||||
}
|
||||
|
||||
void CMetroColorViewer::UpdateColors( void )
|
||||
{
|
||||
CWindow list=GetDlgItem(IDC_LIST1);
|
||||
if (!list.IsWindow()) return;
|
||||
#ifndef READ_COLORS
|
||||
int set=m_ColorSet>=0?m_ColorSet:GetImmersiveUserColorSetPreference(false,false);
|
||||
#endif
|
||||
int count=ListView_GetItemCount(list);
|
||||
list.SetRedraw(FALSE);
|
||||
for (int i=0;i<count;i++)
|
||||
{
|
||||
LVITEM item={LVIF_PARAM};
|
||||
item.iItem=i;
|
||||
ListView_GetItem(list,&item);
|
||||
int idx=(int)item.lParam;
|
||||
COLORREF color;
|
||||
#ifndef READ_COLORS
|
||||
if (g_MetroColors[idx].type<=g_MaxMetroColorType)
|
||||
color=GetImmersiveColorFromColorSetEx(set,g_MetroColors[idx].type,true,0);
|
||||
else
|
||||
#endif
|
||||
color=g_MetroColors[idx].color;
|
||||
wchar_t text[20];
|
||||
Sprintf(text,_countof(text),L"%02X%02X%02X%02X",(color>>24)&0xFF,color&0xFF,(color>>8)&0xFF,(color>>16)&0xFF);
|
||||
ListView_SetItemText(list,i,2,text);
|
||||
}
|
||||
list.SetRedraw(TRUE);
|
||||
::InvalidateRect(list,NULL,TRUE);
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnClose( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
|
||||
{
|
||||
EndDialog(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
if (GetFocus()==GetDlgItem(IDC_EDIT2))
|
||||
SetDlgItemText(IDC_EDIT2,L"");
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnUpdateSet( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
m_ColorSet=GetDlgItemInt(IDC_EDIT1);
|
||||
UpdateColors();
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnUpdateFilter( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
CString filter;
|
||||
GetDlgItemText(IDC_EDIT2,filter);
|
||||
filter.MakeUpper();
|
||||
if (filter!=m_Filter)
|
||||
{
|
||||
m_Filter=filter;
|
||||
UpdateRows();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled )
|
||||
{
|
||||
NMLVCUSTOMDRAW *pDraw=(NMLVCUSTOMDRAW*)pnmh;
|
||||
if (pDraw->nmcd.dwDrawStage==CDDS_PREPAINT)
|
||||
return CDRF_NOTIFYITEMDRAW;
|
||||
if (pDraw->nmcd.dwDrawStage==CDDS_ITEMPREPAINT)
|
||||
return CDRF_NOTIFYSUBITEMDRAW;
|
||||
if (pDraw->nmcd.dwDrawStage==(CDDS_ITEMPREPAINT|CDDS_SUBITEM) && pDraw->iSubItem==3)
|
||||
{
|
||||
RECT rc;
|
||||
ListView_GetSubItemRect(pnmh->hwndFrom,pDraw->nmcd.dwItemSpec,pDraw->iSubItem,LVIR_BOUNDS,&rc);
|
||||
DWORD color;
|
||||
#ifndef READ_COLORS
|
||||
if (g_MetroColors[pDraw->nmcd.lItemlParam].type<=g_MaxMetroColorType)
|
||||
{
|
||||
int set=m_ColorSet>=0?m_ColorSet:GetImmersiveUserColorSetPreference(false,false);
|
||||
color=GetImmersiveColorFromColorSetEx(set,g_MetroColors[pDraw->nmcd.lItemlParam].type,true,0);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
color=g_MetroColors[pDraw->nmcd.lItemlParam].color;
|
||||
SetDCBrushColor(pDraw->nmcd.hdc,color&0xFFFFFF);
|
||||
FillRect(pDraw->nmcd.hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH));
|
||||
return CDRF_SKIPDEFAULT;
|
||||
}
|
||||
return CDRF_DODEFAULT;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnColumnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled )
|
||||
{
|
||||
NMLISTVIEW *pSort=(NMLISTVIEW *)pnmh;
|
||||
if (pSort->iSubItem==0 || pSort->iSubItem==1)
|
||||
{
|
||||
SetSortColumn(pSort->iSubItem);
|
||||
ListView_SortItems(pnmh->hwndFrom,CompareFunc,m_SortColumn);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ShowMetroColorViewer( void )
|
||||
{
|
||||
#ifndef READ_COLORS
|
||||
HMODULE hUxTheme=LoadLibrary(L"uxtheme.dll");
|
||||
DWORD ver=GetVersionEx(hUxTheme);
|
||||
if (hUxTheme && ver>=0x6020000)
|
||||
{
|
||||
GetImmersiveUserColorSetPreference=(TGetImmersiveUserColorSetPreference)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(98));
|
||||
GetImmersiveColorFromColorSetEx=(TGetImmersiveColorFromColorSetEx)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(95));
|
||||
GetImmersiveColorSetCount=(TGetImmersiveColorSetCount)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(94));
|
||||
GetImmersiveColorNamedTypeByIndex=(TGetImmersiveColorNamedTypeByIndex)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(100));
|
||||
GetImmersiveColorTypeFromName=(TGetImmersiveColorTypeFromName)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(96));
|
||||
}
|
||||
if (GetImmersiveUserColorSetPreference && GetImmersiveColorFromColorSetEx && GetImmersiveColorSetCount && GetImmersiveColorNamedTypeByIndex && GetImmersiveColorTypeFromName)
|
||||
#endif
|
||||
{
|
||||
#ifdef READ_COLORS
|
||||
FILE *fin=NULL;
|
||||
fopen_s(&fin,"d:\\colors.txt","rt");
|
||||
#endif
|
||||
#ifdef WRITE_COLORS
|
||||
FILE *fout=NULL;
|
||||
fopen_s(&fout,"d:\\colors.txt","wt");
|
||||
#endif
|
||||
#ifndef READ_COLORS
|
||||
int set=GetImmersiveUserColorSetPreference(false,false);
|
||||
#endif
|
||||
g_MaxMetroColorType=0;
|
||||
for (int i=0;;i++)
|
||||
{
|
||||
const wchar_t *name=NULL;
|
||||
int type=i;
|
||||
COLORREF color=0;
|
||||
|
||||
#ifdef READ_COLORS
|
||||
char buf[200]={0};
|
||||
if (fin) fgets(buf,_countof(buf),fin);
|
||||
#endif
|
||||
wchar_t text[256];
|
||||
#ifdef READ_COLORS
|
||||
CStringW str;
|
||||
if (Strlen(buf)>9)
|
||||
{
|
||||
str=buf+9;
|
||||
str.Trim(L"\r\n");
|
||||
name=str;
|
||||
}
|
||||
#else
|
||||
const wchar_t **ptr=GetImmersiveColorNamedTypeByIndex(i);
|
||||
if (ptr)
|
||||
name=*ptr;
|
||||
#endif
|
||||
if (!name)
|
||||
break;
|
||||
Sprintf(text,_countof(text),L"Immersive%s",name);
|
||||
#ifdef READ_COLORS
|
||||
char *end;
|
||||
color=strtoul(buf,&end,16);
|
||||
color=(color&0xFF00FF00)|((color>>16)&0xFF)|((color&0xFF)<<16);
|
||||
#else
|
||||
type=GetImmersiveColorTypeFromName(text);
|
||||
#endif
|
||||
#ifdef WRITE_COLORS
|
||||
color=GetImmersiveColorFromColorSetEx(set,type,true,0);
|
||||
if (fout) fprintf(fout,"%02X%02X%02X%02X %S\n",(color>>24)&0xFF,color&0xFF,(color>>8)&0xFF,(color>>16)&0xFF,name);
|
||||
#endif
|
||||
MetroColor mc;
|
||||
mc.name=name;
|
||||
mc.NAME=mc.name;
|
||||
mc.NAME.MakeUpper();
|
||||
mc.type=type;
|
||||
if (g_MaxMetroColorType<type)
|
||||
g_MaxMetroColorType=type;
|
||||
#ifdef READ_COLORS
|
||||
mc.color=color;
|
||||
#endif
|
||||
g_MetroColors.push_back(mc);
|
||||
}
|
||||
#ifdef READ_COLORS
|
||||
if (fin) fclose(fin);
|
||||
#endif
|
||||
#ifdef WRITE_COLORS
|
||||
if (fout) fclose(fout);
|
||||
#endif
|
||||
|
||||
for (int i=0;i<_countof(g_SystemColors);i++)
|
||||
{
|
||||
MetroColor mc;
|
||||
mc.name=g_SystemColors[i].name;
|
||||
mc.NAME=mc.name;
|
||||
mc.NAME.MakeUpper();
|
||||
mc.type=g_MaxMetroColorType+1+i;
|
||||
mc.color=GetSysColor(g_SystemColors[i].code)|0xFF000000;
|
||||
g_MetroColors.push_back(mc);
|
||||
}
|
||||
|
||||
CMetroColorViewer().DoModal(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
1106
Src/Setup/Utility/SaveLogFile.cpp
Normal file
9
Src/Setup/Utility/SaveLogFile.h
Normal file
@@ -0,0 +1,9 @@
|
||||
// Classic Shell (c) 2009-2017, Ivo Beltchev
|
||||
// Open-Shell (c) 2017-2018, The Open-Shell Team
|
||||
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
|
||||
|
||||
#pragma once
|
||||
|
||||
void ShowSaveLogFile( void );
|
||||
int SaveLogFile( const wchar_t *fname, bool bAdmin );
|
||||
DWORD GetFileVersion( const wchar_t *fname, DWORD *pBuild );
|
||||
1204
Src/Setup/Utility/Utility.cpp
Normal file
27
Src/Setup/Utility/Utility.manifest
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
|
||||
<assemblyIdentity
|
||||
version="1.0.0.0"
|
||||
processorArchitecture="X86"
|
||||
name="Open-Shell.Setup"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Open-Shell Setup</description>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<asmv3:application>
|
||||
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||
<dpiAware>true</dpiAware>
|
||||
</asmv3:windowsSettings>
|
||||
</asmv3:application>
|
||||
</assembly>
|
||||
224
Src/Setup/Utility/Utility.rc
Normal file
@@ -0,0 +1,224 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#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
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// FILE
|
||||
//
|
||||
|
||||
1 FILE "Release64\\Utility.exe"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON1 ICON "tool.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_COLORS DIALOGEX 0, 0, 407, 281
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Metro Colors"
|
||||
FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Color set:",IDC_STATIC,7,7,31,14,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_EDIT1,39,7,47,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_SPIN1,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,79,7,10,14
|
||||
LTEXT "use -1 for the current set",IDC_STATIC,90,7,79,14,SS_CENTERIMAGE
|
||||
LTEXT "Search:",IDC_STATIC,215,7,24,14,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_EDIT2,240,7,160,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_EDITLABELS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,23,393,251
|
||||
END
|
||||
|
||||
IDD_UNINSTALL DIALOGEX 0, 0, 315, 201
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Remove Open-Shell"
|
||||
FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,67,301,1
|
||||
LTEXT "The tool has determined that Open-Shell is installed in the following folder. If this is incorrect, use the Browse button to pick another location.",IDC_STATICPATH,7,72,301,19
|
||||
EDITTEXT IDC_EDITPATH,7,93,262,14,ES_AUTOHSCROLL | ES_READONLY
|
||||
PUSHBUTTON "Browse",IDC_BUTTONBROWSEPATH,270,93,38,14
|
||||
LTEXT "Select which settings to remove:\n (it is safe to keep the settings - they will not affect the operation of your computer)",IDC_STATIC,7,113,277,17
|
||||
CONTROL "Remove admin settings - will remove the settings from the Local Machine registry",IDC_CHECKADMIN,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,132,274,10
|
||||
CONTROL "Remove user settings - will remove the settings for the current user",IDC_CHECKSETTINGS,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,144,233,10
|
||||
CONTROL "Remove settings for all users - will remove the user settings for all users",IDC_CHECKALLUSERS,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,156,236,10
|
||||
LTEXT "Please, make sure that no other users are currently signed in",IDC_STATICALLUSERS,41,167,203,8,NOT WS_VISIBLE
|
||||
DEFPUSHBUTTON "OK",IDOK,205,180,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,258,180,50,14
|
||||
LTEXT "Warning: This tool will remove Open-Shell from your system by directly accessing the registry and the file system. A reboot may be required.\nUse it only if you have tried the conventional methods for uinstalling Open-Shell and they were unsuccessful.",IDC_STATICWARNING,7,7,301,35
|
||||
CONTROL "The preferred method for uninstallation is to use the <a>Programs and Features</a> page in the Control Panel.",IDC_SYSLINK1,
|
||||
"SysLink",WS_TABSTOP,7,44,301,18
|
||||
END
|
||||
|
||||
IDD_UNINSTALL_RESULTS DIALOGEX 0, 0, 471, 302
|
||||
STYLE DS_SETFONT | DS_CENTER | WS_POPUP | WS_CAPTION | WS_THICKFRAME
|
||||
CAPTION "Remove Open-Shell"
|
||||
FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Static",IDC_STATICRESULT,7,7,457,25
|
||||
EDITTEXT IDC_EDITRESULT,7,39,457,238,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | WS_VSCROLL
|
||||
PUSHBUTTON "Restart Now",IDC_BUTTONREBOOT,319,281,70,14
|
||||
PUSHBUTTON "Close",IDC_BUTTONCLOSE,394,281,70,14
|
||||
END
|
||||
|
||||
IDD_UNINSTALL_PROGRESS DIALOGEX 0, 0, 240, 75
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Removing Open-Shell"
|
||||
FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
CONTROL "",IDC_PROGRESS1,"msctls_progress32",WS_BORDER,7,27,226,14
|
||||
LTEXT "Please, wait...",IDC_STATICWAIT,7,7,83,8
|
||||
END
|
||||
|
||||
IDD_LOGSETTINGS DIALOGEX 0, 0, 201, 245
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Open-Shell Logging"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "Warning: Turning on the logging options may negatively affect the performance of Open-Shell.",IDC_STATIC,7,7,187,17
|
||||
LTEXT "Log start menu",IDC_STATIC,7,31,52,12,SS_CENTERIMAGE
|
||||
CONTROL "Open/close menus",IDC_CHECKOPEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,44,75,10
|
||||
CONTROL "Menu contents",IDC_CHECKITEMS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,44,63,10
|
||||
CONTROL "Executed items",IDC_CHECKEXECUTE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,58,65,10
|
||||
CONTROL "MFU items",IDC_CHECKMFU,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,58,49,10
|
||||
CONTROL "New programs",IDC_CHECKNEW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,72,62,10
|
||||
CONTROL "Metro apps",IDC_CHECKAPPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,72,52,10
|
||||
CONTROL "Search results",IDC_CHECKSEARCH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,86,61,10
|
||||
CONTROL "SQL commands",IDC_CHECKSEARCH_SQL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,86,64,10
|
||||
CONTROL "Mouse events",IDC_CHECKMOUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,100,61,10
|
||||
CONTROL "Data cache",IDC_CHECKCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,100,52,10
|
||||
CONTROL "<a>Start menu log file</a>",IDC_SYSLINKSTART,"SysLink",WS_TABSTOP,22,113,80,10
|
||||
CONTROL "<a>Data cache log file</a>",IDC_SYSLINKCACHE,"SysLink",WS_TABSTOP,22,125,80,10
|
||||
CONTROL "Log startup",IDC_CHECKSTARTUP,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,7,140,57,12
|
||||
CONTROL "<a>Startup log file</a>",IDC_SYSLINKSTARTUP,"SysLink",WS_TABSTOP,22,153,80,10
|
||||
CONTROL "Log Classic Explorer",IDC_CHECKEXPLORER,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,7,167,84,12
|
||||
CONTROL "<a>Classic Explorer log file</a>",IDC_SYSLINKEXPLORER,
|
||||
"SysLink",WS_TABSTOP,22,180,80,10
|
||||
CONTROL "Log Classic IE",IDC_CHECKIE,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,7,194,65,12
|
||||
CONTROL "<a>Classic IE log file</a>",IDC_SYSLINKIE,"SysLink",WS_TABSTOP,22,207,80,10
|
||||
DEFPUSHBUTTON "OK",IDOK,85,224,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,144,224,50,14
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_COLORS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 400
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 274
|
||||
END
|
||||
|
||||
IDD_UNINSTALL, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 308
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 194
|
||||
END
|
||||
|
||||
IDD_UNINSTALL_RESULTS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 464
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 295
|
||||
END
|
||||
|
||||
IDD_UNINSTALL_PROGRESS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 233
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 68
|
||||
END
|
||||
|
||||
IDD_LOGSETTINGS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 194
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 238
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
214
Src/Setup/Utility/Utility.vcxproj
Normal file
@@ -0,0 +1,214 @@
|
||||
<?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|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}</ProjectGuid>
|
||||
<RootNamespace>Utility</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfAtl>Static</UseOfAtl>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfAtl>Static</UseOfAtl>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfAtl>Static</UseOfAtl>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfAtl>Static</UseOfAtl>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(Configuration)64\</OutDir>
|
||||
<IntDir>$(Configuration)64\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(Configuration)64\</OutDir>
|
||||
<IntDir>$(Configuration)64\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib;Netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib.;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib;Netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib.;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Utility.cpp" />
|
||||
<ClCompile Include="LoggingOptions.cpp" />
|
||||
<ClCompile Include="ManualUninstall.cpp" />
|
||||
<ClCompile Include="MetroColorViewer.cpp" />
|
||||
<ClCompile Include="SaveLogFile.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Release64\Utility.exe" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="Utility.manifest" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Utility.rc">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="..\..\LocComments.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="SaveLogFile.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="tool.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Lib\Lib.vcxproj">
|
||||
<Project>{d42fe717-485b-492d-884a-1999f6d51154}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties RESOURCE_FILE="Utility.rc" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
61
Src/Setup/Utility/resource.h
Normal file
@@ -0,0 +1,61 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by Utility.rc
|
||||
//
|
||||
#define IDI_ICON1 101
|
||||
#define IDD_DIALOG1 102
|
||||
#define IDD_COLORS 102
|
||||
#define IDD_UNINSTALL 103
|
||||
#define IDD_UNINSTALL_RESULTS 104
|
||||
#define IDD_UNINSTALL_PROGRESS 105
|
||||
#define IDD_LOGSETTINGS 106
|
||||
#define IDC_EDIT1 1001
|
||||
#define IDC_SPIN1 1002
|
||||
#define IDC_LIST1 1003
|
||||
#define IDC_EDIT2 1004
|
||||
#define IDC_BUTTONBROWSEPATH 1005
|
||||
#define IDC_CHECKADMIN 1006
|
||||
#define IDC_CHECKSETTINGS 1007
|
||||
#define IDC_CHECKALLUSERS 1008
|
||||
#define IDC_SYSLINK1 1009
|
||||
#define IDC_EDITPATH 1010
|
||||
#define IDC_SYSLINKSTARTUP 1010
|
||||
#define IDC_STATICPATH 1011
|
||||
#define IDC_SYSLINKEXPLORER 1011
|
||||
#define IDC_STATICWARNING 1012
|
||||
#define IDC_SYSLINKIE 1012
|
||||
#define IDC_STATICRESULT 1013
|
||||
#define IDC_EDITRESULT 1014
|
||||
#define IDC_BUTTONREBOOT 1015
|
||||
#define IDC_BUTTONCLOSE 1016
|
||||
#define IDC_PROGRESS1 1017
|
||||
#define IDC_STATICWIAT 1018
|
||||
#define IDC_STATICWAIT 1018
|
||||
#define IDC_STATICALLUSERS 1019
|
||||
#define IDC_CHECKEXPLORER 1020
|
||||
#define IDC_CHECKSTARTUP 1022
|
||||
#define IDC_CHECKIE 1023
|
||||
#define IDC_CHECKEXECUTE 1028
|
||||
#define IDC_CHECKOPEN 1029
|
||||
#define IDC_CHECKITEMS 1030
|
||||
#define IDC_CHECKMOUSE 1031
|
||||
#define IDC_CHECKMFU 1032
|
||||
#define IDC_CHECKSEARCH 1033
|
||||
#define IDC_CHECKSEARCH_SQL 1034
|
||||
#define IDC_CHECKNEW 1035
|
||||
#define IDC_CHECKAPPS 1036
|
||||
#define IDC_CHECKCACHE 1037
|
||||
#define IDC_SYSLINKSTART 1038
|
||||
#define IDC_SYSLINKSTART2 1039
|
||||
#define IDC_SYSLINKCACHE 1039
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 108
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1039
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
BIN
Src/Setup/Utility/tool.ico
Normal file
|
After Width: | Height: | Size: 17 KiB |
8
Src/Setup/_BuildChineseCN.bat
Normal file
@@ -0,0 +1,8 @@
|
||||
SET CS_LANG_FOLDER=Chinese
|
||||
SET CS_LANG_NAME=zh-CN
|
||||
SET CS_LANG_NAME_SHORT=zhCN
|
||||
SET CS_HAS_HELP=0
|
||||
SET CS_HAS_EULA=1
|
||||
SET CS_HAS_README=1
|
||||
|
||||
call BuildInstaller.bat
|
||||
8
Src/Setup/_BuildChineseTW.bat
Normal file
@@ -0,0 +1,8 @@
|
||||
SET CS_LANG_FOLDER=ChineseTW
|
||||
SET CS_LANG_NAME=zh-TW
|
||||
SET CS_LANG_NAME_SHORT=zhTW
|
||||
SET CS_HAS_HELP=1
|
||||
SET CS_HAS_EULA=1
|
||||
SET CS_HAS_README=1
|
||||
|
||||
call BuildInstaller.bat
|
||||
8
Src/Setup/_BuildEnglish.bat
Normal file
@@ -0,0 +1,8 @@
|
||||
SET CS_LANG_FOLDER=English
|
||||
SET CS_LANG_NAME=en-US
|
||||
SET CS_LANG_NAME_SHORT=en
|
||||
SET CS_HAS_HELP=1
|
||||
SET CS_HAS_EULA=1
|
||||
SET CS_HAS_README=1
|
||||
|
||||
call BuildInstaller.bat
|
||||
8
Src/Setup/_BuildFrench.bat
Normal file
@@ -0,0 +1,8 @@
|
||||
SET CS_LANG_FOLDER=French
|
||||
SET CS_LANG_NAME=fr-FR
|
||||
SET CS_LANG_NAME_SHORT=fr
|
||||
SET CS_HAS_HELP=1
|
||||
SET CS_HAS_EULA=1
|
||||
SET CS_HAS_README=1
|
||||
|
||||
call BuildInstaller.bat
|
||||
8
Src/Setup/_BuildGerman.bat
Normal file
@@ -0,0 +1,8 @@
|
||||
SET CS_LANG_FOLDER=German
|
||||
SET CS_LANG_NAME=de-DE
|
||||
SET CS_LANG_NAME_SHORT=de
|
||||
SET CS_HAS_HELP=0
|
||||
SET CS_HAS_EULA=1
|
||||
SET CS_HAS_README=1
|
||||
|
||||
call BuildInstaller.bat
|
||||
8
Src/Setup/_BuildItalian.bat
Normal file
@@ -0,0 +1,8 @@
|
||||
SET CS_LANG_FOLDER=Italian
|
||||
SET CS_LANG_NAME=it-IT
|
||||
SET CS_LANG_NAME_SHORT=it
|
||||
SET CS_HAS_HELP=0
|
||||
SET CS_HAS_EULA=1
|
||||
SET CS_HAS_README=1
|
||||
|
||||
call BuildInstaller.bat
|
||||
8
Src/Setup/_BuildPolish.bat
Normal file
@@ -0,0 +1,8 @@
|
||||
SET CS_LANG_FOLDER=Polish
|
||||
SET CS_LANG_NAME=pl-PL
|
||||
SET CS_LANG_NAME_SHORT=pl
|
||||
SET CS_HAS_HELP=1
|
||||
SET CS_HAS_EULA=1
|
||||
SET CS_HAS_README=1
|
||||
|
||||
call BuildInstaller.bat
|
||||
8
Src/Setup/_BuildRussian.bat
Normal file
@@ -0,0 +1,8 @@
|
||||
SET CS_LANG_FOLDER=Russian
|
||||
SET CS_LANG_NAME=ru-RU
|
||||
SET CS_LANG_NAME_SHORT=ru
|
||||
SET CS_HAS_HELP=1
|
||||
SET CS_HAS_EULA=1
|
||||
SET CS_HAS_README=1
|
||||
|
||||
call BuildInstaller.bat
|
||||
8
Src/Setup/_BuildSpanish.bat
Normal file
@@ -0,0 +1,8 @@
|
||||
SET CS_LANG_FOLDER=Spanish
|
||||
SET CS_LANG_NAME=es-ES
|
||||
SET CS_LANG_NAME_SHORT=es
|
||||
SET CS_HAS_HELP=1
|
||||
SET CS_HAS_EULA=1
|
||||
SET CS_HAS_README=1
|
||||
|
||||
call BuildInstaller.bat
|
||||
34
Src/Setup/__MakeFinal.bat
Normal file
@@ -0,0 +1,34 @@
|
||||
@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%
|
||||
|
||||
cd %~dp0
|
||||
|
||||
rem Clean repository and build fresh. Will erase current changes so disabled by default.
|
||||
rem git clean -dfx
|
||||
|
||||
rem Default version
|
||||
set CS_VERSION=4.4.110
|
||||
|
||||
if defined APPVEYOR_BUILD_VERSION (
|
||||
set CS_VERSION=%APPVEYOR_BUILD_VERSION%
|
||||
)
|
||||
|
||||
echo Version: %CS_VERSION%
|
||||
|
||||
rem Convert . to _
|
||||
set CS_VERSION_STR=%CS_VERSION:.=_%
|
||||
|
||||
set CS_VERSION_ORIG=%CS_VERSION%
|
||||
rem Strip optional "-xyz" suffix from version
|
||||
for /f "delims=- tokens=1,1" %%i in ("%CS_VERSION%") do set CS_VERSION=%%i
|
||||
|
||||
call BuildBinaries.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
call _BuildEnglish.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
call BuildArchives.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
exit /b 0
|
||||
52
Src/Setup/__MakeFinalAllLanguages.bat
Normal file
@@ -0,0 +1,52 @@
|
||||
@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%
|
||||
|
||||
cd %~dp0
|
||||
|
||||
rem Clean repository and build fresh. Will erase current changes so disabled by default.
|
||||
rem git clean -dfx
|
||||
|
||||
rem Default version
|
||||
set CS_VERSION=4.3.2
|
||||
|
||||
if defined APPVEYOR_BUILD_VERSION (
|
||||
set CS_VERSION=%APPVEYOR_BUILD_VERSION%
|
||||
)
|
||||
|
||||
rem Convert . to _
|
||||
set CS_VERSION_STR=%CS_VERSION:.=_%
|
||||
|
||||
set CS_VERSION_ORIG=%CS_VERSION%
|
||||
rem Strip optional "-xyz" suffix from version
|
||||
for /f "delims=- tokens=1,1" %%i in ("%CS_VERSION%") do set CS_VERSION=%%i
|
||||
|
||||
call BuildBinaries.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
call _BuildEnglish.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
rem Build other languages
|
||||
call _BuildChineseCN.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
call _BuildChineseTW.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
call _BuildFrench.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
call _BuildGerman.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
call _BuildItalian.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
call _BuildPolish.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
call _BuildRussian.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
call _BuildSpanish.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
call BuildArchives.bat
|
||||
if ERRORLEVEL 1 exit /b 1
|
||||
|
||||
exit /b 0
|
||||
BIN
Src/Setup/banner.jpg
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
Src/Setup/dialog.jpg
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
Src/Setup/dialog2.jpg
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
Src/Setup/donate.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
109
Src/Setup/en-US/en-US.rc
Normal file
@@ -0,0 +1,109 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#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
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x17L
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x0L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Open-Shell"
|
||||
VALUE "FileDescription", "en-US"
|
||||
VALUE "FileVersion", "1, 0, 0, 1"
|
||||
VALUE "InternalName", "en-US"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team"
|
||||
VALUE "OriginalFilename", "en-US"
|
||||
VALUE "ProductName", "Open-Shell"
|
||||
VALUE "ProductVersion", "1, 0, 0, 1"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// L10N
|
||||
//
|
||||
|
||||
1 L10N "en-US.txt"
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
BIN
Src/Setup/en-US/en-US.txt
Normal file
55
Src/Setup/en-US/en-US.vcxproj
Normal file
@@ -0,0 +1,55 @@
|
||||
<?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="Resource|Win32">
|
||||
<Configuration>Resource</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{0A60FD06-3A81-4651-A869-9850DBC115EA}</ProjectGuid>
|
||||
<RootNamespace>enUS</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Resource|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Resource|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Resource|Win32'">
|
||||
<OutDir>..\..\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<IgnoreImportLibrary>true</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Resource|Win32'">
|
||||
<Link>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="en-US.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="en-US.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
16
Src/Setup/en-US/resource.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by en-US.rc
|
||||
//
|
||||
#define IDR_L10N1 101
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
BIN
Src/Setup/facebook.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
31
Src/Setup/resource.h
Normal file
@@ -0,0 +1,31 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by Setup.rc
|
||||
//
|
||||
#define IDS_APP_NAME 100
|
||||
#define IDS_APP_TITLE 100
|
||||
#define IDI_APPICON 101
|
||||
#define IDS_OLDSTARTMENU 101
|
||||
#define IDS_ERR_CORRUPTED 102
|
||||
#define IDR_MSI_FILE32 132
|
||||
#define IDR_MSI_FILE64 164
|
||||
#define IDS_ERR_INTERNAL 166
|
||||
#define IDD_DIALOGPWD 166
|
||||
#define IDS_ERR_EXTRACT 167
|
||||
#define IDR_MSI_CHECKSUM 167
|
||||
#define IDS_ERR_WIN7 169
|
||||
#define IDS_ERR_MSIEXEC 170
|
||||
#define IDS_HELP 200
|
||||
#define IDC_EDIT1 1001
|
||||
#define IDC_EDITPWD 1001
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 168
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1002
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
BIN
Src/Setup/web.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |