Deployment Solution

 View Only
  • 1.  Bringing back the missing environmental variables in WinPE 4

    Posted Jan 07, 2014 07:16 PM

    I've been frustrated the past week or two with DS 6.9 SP6 and WinPE4's missing environmental variables, specifically the ALTIRIS_PXE_CLIENTMAC variable which works great as a unique identifier when backing up computers through PXE. Looked into the problem and the issue is that the startutl.bat located in Bootwiz\platforms\Winpe4\%PROCESSOR%\Templates specifically checks for WinPE 2 and sets /opts for that. WinPE 3/4/5 will successfully use the WinPE 2 flags - and I've done it with all 3 of those versions successfully in DS 6.9 SP5 - but apparently the default flags that WinPE 4 wants to use are the WinPE 1 version, which don't actually work right with this version.

    The solution is to change the is-winpe2 to is-winpe1 and change the if not errorlevel 1 check to if errorlevel 1. To make it more explicit, change:
    call :is-winpe2
    if not errorlevel 1 set opt=/winpe2

    to this:
    call :is-winpe1
    if errorlevel 1 set opt=/winpe2

    Remember to change startutl.bat in both Bootwiz\platforms\Winpe4\x86\Templates and Bootwiz\platforms\Winpe4\x64\Templates; the same change is needed in both places. Save your updated files, regenerate WinPE images, and your ALTIRIS_PXE environmental variables should be back on your next WinPE 4 PXE client load.

    Hope this helps some other people out there. And that the file gets fixed for DS 6.9 SP6 MR1.



  • 2.  RE: Bringing back the missing environmental variables in WinPE 4



  • 3.  RE: Bringing back the missing environmental variables in WinPE 4

    Posted Jan 08, 2014 03:39 PM

    Yes and no. That one will only set if the version check specifically matches for WinPE 4 - if you're on WinPE 4, then it tells it to run as if it were WinPE 2. That means that if you happen to be using WinPE 3 or 5, it won't work, failing exactly like WinPE 4 does with the release version of startutl.bat. My fix sets it to check for not WinPE 1, so it works for WinPE 2, 3, 4, or 5, regardless of which compatible version it detects.

    But downloading and using an easily included file is definitely easier for most people than a comprehensive fix.

    Thanks for the link though. :) It's good to know that I'm not the only person looking into this problem.



  • 4.  RE: Bringing back the missing environmental variables in WinPE 4

    Posted Mar 04, 2014 01:34 PM

    http://www.symantec.com/docs/TECH213143 

    is the solution, I use it with success



  • 5.  RE: Bringing back the missing environmental variables in WinPE 4

    Posted Mar 18, 2014 03:53 PM

    Yes and no. While that does work for WinPE 4, it doesn't work if you have WinPE 3 or 5. As I said, the system uses the same lines for WinPE 2+, whether the 2+ is 2, 3, 4, or 5. As such, it's much more robust to say that if you're on WinPE 1, use WinPE 1 commands and otherwise use the WinPE 2+ commands.

    But if you want a quick download option and you aren't planning on updating to WinPE 5, that KB article will get you running again.



  • 6.  RE: Bringing back the missing environmental variables in WinPE 4

    Posted Mar 24, 2014 05:40 PM

    Is DS 7.5 affected by this too?



  • 7.  RE: Bringing back the missing environmental variables in WinPE 4

    Posted Apr 01, 2014 02:23 PM

    From Altiris\Deployment\BDC\bootwiz\Platforms\WinPE\x86\Templates\startutl.bat:
    REM start=DS WinPE startup support routines
    REM Version=6.9 SP4/7.1 SP1

    Amusingly, the SMP 7.5 DS is still the pre-SP6 version which is not aware that there are more than 2 versions of WinPE. Oddly, it believes that the versions are 1 and 3, but...

    At whatever point in time SMP 7.5 DS is updated to be aware that 2 and 4 are also versions of WinPE, they will either need manual checks added or a more robust/generic solution made. Or just leaving in the old version of this file that says that if you aren't WinPE 1, you must be fine. :)

     



  • 8.  RE: Bringing back the missing environmental variables in WinPE 4

    Posted Apr 01, 2014 02:48 PM

    7.5 uses WinPE 4.0



  • 9.  RE: Bringing back the missing environmental variables in WinPE 4

    Posted Apr 01, 2014 03:16 PM

    But as I posted, it doesn't know it. The Startutl.bat file in the only WinPE folder only contains information for WinPE 1 and WinPE 3. :)



  • 10.  RE: Bringing back the missing environmental variables in WinPE 4

    Posted Apr 01, 2014 09:51 PM

    If variables are missing, this is the wrong way to go about this - you should be calling Support to make sure this is a logged issue.  Working around it is also fine, but you should also let Support know.



  • 11.  RE: Bringing back the missing environmental variables in WinPE 4

    Posted Apr 02, 2014 01:02 PM

    Since you didn't reply to anything but the main message, I don't know whether you're referring to the DS 6.9 SP6 missing variables or the SMP 7.5 DS non-missing variables. I'll answer each in turn though.

    The DS 6.9 SP6 missing variables are documented in TECH213143, found here:
    http://www.symantec.com/business/support/index?page=content&id=TECH213143

    The official response isn't as robust as I'd like, as it simply changes from detecting for WinPE 2 to WinPE 4 and leaves all other versions of WinPE out in the cold, but it does, strictly speaking, work. For people who want to try to update to WinPE 5, however, it won't work as well as my solution does. In DS 6.9 SP5 and before, you could update to WinPE 3, 4, or 5 without any problems as long as you remembered to disable compression. It's a little bit silly that DS 6.9 SP6 can't do WinPE 5 as well as SP5 could.

    Regarding SMP 7.5 DS, it's not that it actually has MISSING variables, it's that they kept the working DS 6.9 SP4 files to check for which version of WinPE is installed. This version simply said that if you have the files to run WinPE 2 or higher, do it. Doesn't matter if you're on WinPE 2, 3, 4, 5, 6, whatever. If you can run, do it.

    Where DS 6.9 SP6 failed was by adding complexity for the sake of complexity. Someone decided that they wanted to know which version of WinPE, exactly, was installed. Not because it mattered, but because it would be fun. The only things that mattered were:
    1) Was WinPE installed?
    2) Was it WinPE 1 or something else?

    If it was anything higher, the commands worked fine. That's why it worked fine on DS 6.9 SP5 with WinPE 5. That's why SMP 7.5 DS doesn't have the problem using its DS 6.9 SP4 files. Doing nifty things with your scripts is great. The scripts working more robustly when you're done is better. If the additional version checks did anything besides provide additional points of failure, then they would have been an improvement. As it stands, those additional checks only reduce functionality.