143 lines
4.3 KiB
Batchfile
143 lines
4.3 KiB
Batchfile
@echo off
|
|
setlocal
|
|
REM It's necessary to use the IExpress and advpack.dll from X:\nt\idw instead of %windir%\system32
|
|
REM because it's the wrong version and doesn't work on alpha.
|
|
set path=%_NTBINDIR%\idw;%path%
|
|
|
|
if "%1"=="help" goto HELP_SECTION
|
|
if "%1"=="-h" goto HELP_SECTION
|
|
if "%1"=="/h" goto HELP_SECTION
|
|
if "%1"=="-help" goto HELP_SECTION
|
|
if "%1"=="/help" goto HELP_SECTION
|
|
if "%1"=="-?" goto HELP_SECTION
|
|
if "%1"=="/?" goto HELP_SECTION
|
|
|
|
if "%1"=="" goto SNIFF
|
|
if "%1"=="verbose" goto SNIFF
|
|
if "%1"=="alllang" goto SNIFF
|
|
|
|
goto SKIP_VER_SNIFF
|
|
:SNIFF
|
|
for /f "tokens=5" %%i in ('lsv.exe comc95.dll') do set COMCTL32_VERSION=%%i
|
|
for /f "tokens=5" %%i in ('lsv.exe comcnt.dll') do set COMCTL32_VERSION_NT=%%i
|
|
goto BUILD_CONTINUE
|
|
|
|
:SKIP_VER_SNIFF
|
|
set COMCTL32_VERSION=%1
|
|
set COMCTL32_VERSION_NT=%1
|
|
|
|
:BUILD_CONTINUE
|
|
|
|
if not exist comc95.dll goto ERROR_DLLS_NOT_FOUND
|
|
if not exist comcnt.dll goto ERROR_DLLS_NOT_FOUND
|
|
|
|
if not "%COMCTL32_VERSION%"=="%COMCTL32_VERSION_NT%" goto ERROR_VERSION_MISMATCH
|
|
|
|
set BUILD_OPTIONS=normal
|
|
if "%1"=="verbose" set BUILD_OPTIONS=verbose
|
|
if "%2"=="verbose" set BUILD_OPTIONS=verbose
|
|
if "%3"=="verbose" set BUILD_OPTIONS=verbose
|
|
|
|
if "%1"=="alllang" goto BUILD_ALLLANG_SECTION
|
|
if "%2"=="alllang" goto BUILD_ALLLANG_SECTION
|
|
if "%3"=="alllang" goto BUILD_ALLLANG_SECTION
|
|
|
|
|
|
:BUILD_ENGLISH_SECTION
|
|
set BLD_LANG=en
|
|
|
|
echo /***************************************************************\
|
|
echo Building Comctl32 Redistribution Package
|
|
echo .
|
|
echo Languages: English
|
|
echo Version: %COMCTL32_VERSION%
|
|
echo \****************************************************************/
|
|
if "%BLD_LANG%"=="alllang" goto ERROR_LANG
|
|
if "%BLD_LANG%"=="verbose" goto ERROR_LANG
|
|
|
|
call pack.bat %BLD_LANG% %COMCTL32_VERSION% %BUILD_OPTIONS%
|
|
goto END_SECTION
|
|
|
|
|
|
|
|
:BUILD_ALLLANG_SECTION
|
|
|
|
echo /***************************************************************\
|
|
echo Building Comctl32 Redistribution Package
|
|
echo .
|
|
echo Languages: All
|
|
echo Version: %COMCTL32_VERSION%
|
|
echo \****************************************************************/
|
|
if "%BLD_LANG%"=="alllang" goto ERROR_LANG
|
|
if "%BLD_LANG%"=="verbose" goto ERROR_LANG
|
|
|
|
for /d %%n IN (*.*) do call pack.bat %%n %COMCTL32_VERSION% %BUILD_OPTIONS%
|
|
goto END_SECTION
|
|
|
|
|
|
|
|
@rem Propagate the cabs to the parent
|
|
REM move MSIEFTP.cab ..
|
|
REM move MSIEFTP.exe ..
|
|
|
|
:HELP_SECTION
|
|
REM =================================================================
|
|
REM ================= HELP SECTION ================
|
|
REM =================================================================
|
|
REM
|
|
echo /****************************************************************\
|
|
echo Building Comctl32 Redistribution Package Help
|
|
echo .
|
|
echo Usage: MKREDIST version [verbose] [alllang] [help]
|
|
echo .
|
|
echo verbose: This will display error dialogs if the .SED file has
|
|
echo parsing errors. It will also display progress during
|
|
echo the building process in a separate window.
|
|
echo alllang: This means build all the language subdirectories.
|
|
echo help: Display this help text.
|
|
echo .
|
|
echo .
|
|
echo WARNING: We can not ship comctl32 redist packages for NT5
|
|
echo because it requires files to be signed and distributed
|
|
echo in service packs.
|
|
echo \****************************************************************/
|
|
goto END_SECTION
|
|
|
|
|
|
|
|
:ERROR_NOVER_SECTION
|
|
REM =================================================================
|
|
REM ================= ERROR SECTION ================
|
|
REM =================================================================
|
|
REM
|
|
echo No version number was specified. This is required.
|
|
goto HELP_SECTION
|
|
|
|
|
|
|
|
:ERROR_LANG
|
|
REM =================================================================
|
|
REM ================= ERROR SECTION ================
|
|
REM =================================================================
|
|
REM
|
|
echo Internal error. Could not get the correct language.
|
|
echo Language = %BLD_LANG%
|
|
goto HELP_SECTION
|
|
|
|
|
|
|
|
:ERROR_VERSION_MISMATCH
|
|
echo ERROR: The version numbers of the Win95 and WinNT versions of comctl32.dll
|
|
echo don't match. Win95=%COMCTL32_VERSION% WinNT=%COMCTL32_VERSION_NT%
|
|
goto END_SECTION
|
|
|
|
|
|
|
|
:ERROR_DLLS_NOT_FOUND
|
|
echo ERROR: In order to build the redist package, you need to copy the Win95 comctl32.dll
|
|
echo to this directory and rename it comc95.dll. You will also need to
|
|
echo do the same for comcnt.dll.
|
|
goto END_SECTION
|
|
|
|
|
|
:END_SECTION |