100 lines
2.5 KiB
Batchfile
100 lines
2.5 KiB
Batchfile
@REM -----------------------------------------------------------------
|
|
@REM
|
|
@REM hnw.cmd - TinQian
|
|
@REM This will call iexpress to generate a self-extracting CAB that
|
|
@REM will be used when running our tool off of a floppy disk.
|
|
@REM
|
|
@REM Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@REM
|
|
@REM -----------------------------------------------------------------
|
|
@if NOT defined HOST_PROCESSOR_ARCHITECTURE set HOST_PROCESSOR_ARCHITECTURE=%PROCESSOR_ARCHITECTURE%
|
|
@if defined _CPCMAGIC goto CPCBegin
|
|
@perl -x "%~f0" %*
|
|
@goto :EOF
|
|
#!perl
|
|
use strict;
|
|
use lib $ENV{RAZZLETOOLPATH} . "\\PostBuildScripts";
|
|
use lib $ENV{RAZZLETOOLPATH};
|
|
use PbuildEnv;
|
|
use ParseArgs;
|
|
|
|
sub Usage { print<<USAGE; exit(1) }
|
|
hnw.cmd [-l <language>]
|
|
|
|
This is for the Home Networking Wizard. It runs iexpress to generate
|
|
a self-extracting CAB and install into support\tools.
|
|
USAGE
|
|
|
|
parseargs('?' => \&Usage);
|
|
|
|
|
|
# *** TEMPLATE CODE ***
|
|
$ENV{"_CPCMAGIC"}++;exit(system($0)>>8);
|
|
__END__
|
|
@:CPCBegin
|
|
@set _CPCMAGIC=
|
|
@setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
|
|
@if not defined DEBUG echo off
|
|
@REM *** CMD SCRIPT BELOW ***
|
|
|
|
REM
|
|
REM x86 only!
|
|
REM
|
|
|
|
if not defined x86 goto end
|
|
|
|
REM
|
|
REM Use iexpress.exe to generate the self-extracting executable;
|
|
REM
|
|
|
|
REM first update the sed with the proper binaries directory
|
|
|
|
set hnw.sed=%temp%\hnw.sed
|
|
set doubledpath=%_NtPostBld:\=\\%
|
|
perl -n -e "s/BINARIES_DIR/%doubledpath%/g;print $_;" < %_NtPostBld%\hnw.sed > %hnw.sed%
|
|
|
|
REM Now call iexpress on the new sed
|
|
|
|
if not exist %hnw.sed% (
|
|
call errmsg.cmd "File %hnw.sed% not found."
|
|
popd& goto end
|
|
)
|
|
|
|
set outpath=%_NTPostBld%
|
|
if exist %outpath%\netsetup.exe del /f %outpath%\netsetup.exe
|
|
|
|
|
|
|
|
REM
|
|
REM Munge the path so we use the correct wextract.exe to build the package with...
|
|
REM NOTE: We *want* to use the one we just built (and for Intl localized)!
|
|
REM
|
|
set _NEW_PATH_TO_PREPEND=%RazzleToolPath%\%HOST_PROCESSOR_ARCHITECTURE%\loc\%LANG%
|
|
set _OLD_PATH_BEFORE_PREPENDING=%PATH%
|
|
set PATH=%_NEW_PATH_TO_PREPEND%;%PATH%
|
|
|
|
|
|
call ExecuteCmd.cmd "start /min /wait iexpress.exe /M /N /Q %hnw.sed%"
|
|
|
|
|
|
REM
|
|
REM Return the path to what it was before...
|
|
REM
|
|
set PATH=%_OLD_PATH_BEFORE_PREPENDING%
|
|
|
|
|
|
|
|
|
|
if not exist %outpath%\netsetup.exe (
|
|
call errmsg.cmd "IExpress.exe failed on %hnw.sed%."
|
|
popd& goto end
|
|
)
|
|
|
|
if not exist %_NTPostBld%\netsetup md %_NTPostBld%\netsetup
|
|
call ExecuteCmd.cmd "copy %outpath%\netsetup.exe %_NTPostBld%\netsetup"
|
|
|
|
popd
|
|
|
|
:end
|
|
seterror.exe "%errors%"& goto :EOF
|