Deployment Solution

 View Only
  • 1.  DS7.1 injecting lines to a predefined sysprep on a XPsp3 image after DeployAnywhere

    Posted Jan 06, 2012 01:55 AM

     

     

    Hi All,

    I’m working on creating a Windows XP sp3 image, using DS 7.1 sp2.
    I have created the image and captured it using the standard sequence of tasks ("Prepare image for capture", then "Create Image").
    I then deploy the image.  In this case (for the "Deploy Image" task), I have the options set as follows;

    DeployAnywhere: Include DeployAnywhere for hardware independent image is ENABLED

    Sysprep Configuration: Using a CUSTOM sysprep configuration file.
    The custom sysprep config file is located at .\NSCap\bin\Win32\X86\Deployment\sysprep_Deploy2.inf

    Credentials: An account with relevant rights to add to the domain is included

    The image deploys fine, DeployAnywhere loads all my critical devices and some non-critical ones as intended.
    After reboot however, during the Windows XP Mini Setup,  I get the following popup;

    An Exception occurred while trying to run "shell32,Control_RunDLL intl.cpl,,/f:"C:\WINDOWS\system32\$winnt$.inf" /s:C:\Sysprep

    Selecting OK on this error, allows XP minisetup to continue, which puts me into Windows XP as desired,  fully functional and with all drivers loaded as per DeployAnywhere.

    After some investigations the target PC during the deployment, ive found that it seems that DeployAnywhere is injecting a number of additional lines into my C:\Sysprep\sysprep.inf file which are causing the error.  To find this,  ive performed the following within the WinPE Automation environment.

    1.  As soon as Ghost completes deploying the image, I’ve browsed the C:\Sysprep folder on the computer.  I can see that at this stage, the process has successfully placed my CUSTOM sysprep (as mentioned above), into the C:\Sysprep Folder.  The formatting of this file is just as it is in the NSCAP folder that it came from.

    2. The DeployAnywhere process then runs.  Once this has finished, I once again check the C:\Sysprep\sysprep.inf folder.  Generally the file is still the same; however I note the addition of the following lines;

    Under the [Unattended] section, the following has been added.

    InstallFilesPath=C:\SysPrep
    Unattended=FullUnattended

    Under the [SysprepMassStorage] section, the following has been added

    *PNP0F13=C:\WINDOWS\inf\msmouse.inf
    *PNP0303=C:\WINDOWS\inf\keyboard.inf
    PCI\CC_0C0320=C:\WINDOWS\inf\usbport.inf
    USB\ROOT_HUB20=C:\WINDOWS\inf\usbport.inf

    Under the [Identification] section, the following has been added

    JoinWorkgroup=WORKGROUP

    The Modifications to the [SysprepMassStorage] section is fine, and while the modifications to the [Identification] section seem to be breaking the auto join to the domain, this does not concern me too much, as I can easily get around with an additional Configuration task.

    The big concerns for me are the additions to the [Unattended] sections.   These two additions (or more specifically the addition of the “InstallFilesPath” value,  are causing my zero touch, hardware independent,  WinXP deployment,  to not be Zero Touch.

    Does anyone know how or why DS 7.1sp2 obtains and injects these values into a sysprep.inf file, even though I have specified a CUSTOM sysprep.inf in the image deployment task?

    At this stage I am actually considering a VBScript to just strip these two values out after DeployAnywhere adds them, but I would prefer to resolve it natively if I can.

    Any advice on where or how DS7.1 is obtaining and injecting these values into sysprep (and if its possible to stop or change it), would be greatly appreciated.

    p.s.  Yes I have successfully,  tested my custom syspreps outside of DS7.1

    Thanks in advance



  • 2.  RE: DS7.1 injecting lines to a predefined sysprep on a XPsp3 image after DeployAnywhere

    Posted Jan 06, 2012 02:42 AM

    So a little more investigation and I see WHY DeployAnywhere sets the InstallFilesPath in the sysprep.inf file.
    This is because the DeployAnywhere process uses CMDLINES.TXT to run the DPINST.EXE during mini setup.

    So my workaround idea of removing this line via a VBScript after DeployAnywhere runs is a bad idea...

    Guess I need to do a little more digging..

     

     

     



  • 3.  RE: DS7.1 injecting lines to a predefined sysprep on a XPsp3 image after DeployAnywhere

    Posted Jan 06, 2012 04:09 AM

    and we also had started a case at Symantec. So far without any solution that works for us. We have tried different version of DeployAnywhere.exe delivered to us by Symantec but that did not solved the case. We had to make a workaround (no deployanywhere and scripts instead) but it is of course not the end of the story. Hope there is a solution in the future.



  • 4.  RE: DS7.1 injecting lines to a predefined sysprep on a XPsp3 image after DeployAnywhere
    Best Answer

    Posted Jan 09, 2012 01:55 AM

    It seems that DeployAnywhere just didnt like something in my predefined sysprep.

    When I used the original predefined sysprep,  DeployAnywhere was setting InstallFilesPath=C:\SysPrep.
    It was also copying all of its files to C:\Sysprep\$OEM$

    So I allowed DeployAnywhere to generate its own sysprep from inventory data,  then took this file and modifed it with the values that I needed (from my predefined sysprep).  Saved that and then configured my image deployment job to use that.

    Once I used this new sysprep file,  DeployAnywhere started setting  InstallFilesPath=C:\Sysprep\I386 and copied all of its files to C:\Sysprep\I386\$OEM$,  which seems to have fixed my problem..

    seems a little strange to me,  but its working,  so im happy :)



  • 5.  RE: DS7.1 injecting lines to a predefined sysprep on a XPsp3 image after DeployAnywhere

    Posted Jan 09, 2012 03:49 AM

    Too Good :) its helpful solution. Thanks.