search cancel

ALTIRIS_PXE_SERVER token no longer works after upgrading to GSS 3.x


Article ID: 162809


Updated On:


Ghost Solution Suite


The windows PE token used in automation 'ALTIRIS_PXE_SERVER' token for example stops functioning properly after upgrading to GSS 3.x. This functionality previously worked in DS 6.9 SP6.


The initial release of GSS 3.0 did not include the PXE Server tokens.   This was fixed by 3.0 HF5 and is working in 3.1 in all of the PE environments except the new WinPE 10 environment.   An explanation has been provided by development as to why the PXE Server tokens  are not working with WinPE 10.  Here it is.

The explanation involves the file startutl.bat file.  It's path is as follows:

\eXpress\Deployment Server\Bootwiz\platforms\Winpe10\x64\Templates\startutl.bat
(and the x86 counterpart)

WinPE10 detection part of the batch looks like this:

if not exist "%systemdrive%\windows" exit /b 1
if not exist "%systemroot%\system32\wpeinit.*" exit /b 1
set ver=
call :regkey-read "HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinPE"
Version ver
if not defined ver exit /b 1
if /i not "%ver:~0,2%" == "10." set ver=& exit /b 1
set ver=
exit /b 0
goto :eof

This works fine until this line:
if /i not "%ver:~0,2%" == "10." set ver=& exit /b 1

Note the 0,2% part - it compares first two characters from ver to "10." and this
comparison can never be a match.

The most obvious explanation as to why is that this is copied from WinPE5 where
same comparison was done to "5." which is indeed 2 characters.

A fix for this is to make a single number change to one specific line in the batch file.

if /i not "%ver:~0,3%" == "10." set ver=& exit /b 1

You will be changing the 0,2 to 0,3 and the issue will be resolved.