Jump to content

mdolan

Member
  • Posts

    28
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United Kingdom

Posts posted by mdolan

  1. While this isn't actually a Windows 7 question, it's a migration question with regards Windows 7 supplied tools :-)

    I hope someone might be able to help with this. I'm doing some work with USMT4 and I have an app that stores data in a folder. This folder is per user specific and to get the information I need to:

    a) Read the user registry to get the INI location

    B) Open the INI file and read the entry that contains the data folder

    c) Backup the data folder

    Now I've done some reading of the USMT reference guide and in theory this is possible. In practice I'm failing miserably, so I'm hoping someone can point out the error of my ways :-). Unfortunately the reference/examples for INI reading is very sparse.

    Here is my USMT XML:

    <?xml version="1.0" encoding="UTF-8"?>
    <migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/test">
    <!-- Multi-User migrate setup -->
    <component context="User" type="Documents">
    <environment>
    <variable name="testINIPath">
    <script>MigXmlHelper.GetStringContent("Registry","HKCU\Software\Mike [testINI]")</script>
    </variable>
    <variable name="testDataPath">
    <script>MigXmlHelper.GetStringContent("INI","%testINIPath%|Notes[Directory]")</script>
    </variable>
    </environment>
    <displayName>Multiuser app</displayName>
    <role role="Data">
    <rules>
    <include>
    <objectSet>
    <pattern type="File">%TestDataPath%\* [*]</pattern>
    </objectSet>
    </include>
    </rules>
    </role>
    </component>
    </migration>

    So the theory is:

    a) The variable "testINIPath" gets populated from the registry HKCU\Software\Mike [testINI]

    B) Using the fully named INI (in the testINIPath variable), the INI is opened and then entry "Directory" (from the "Notes" section) is retrieved into "testDataPath"

    c) The contents of "testDataPath" is backed up.

    But as I've stated it does nothing :-(

    Pointers welcomed - and if this is the wrong forum, if someone could point me to the correct place it would be appreciated.

    Cheers,

    Mike

  2. Hi all,

    I have done quite a bit of searching but cannot find a "real" solution so I'm hoping someone here has seen the same and can help solve the problem.

    Symptoms

    Installing any Office 2003 FullFile Hotfix takes an *excessive* amount of time - as much as 10 minutes on some machines. During this period multiple warnings are shown in the application log:

    Source:MSI Installer, Event 1015, Description: Failed to connect to server. Error: 0x800401F0

    Analysis

    I have run process monitor and noticed that the MSI installer seems to sit and continually spin its wheels opening and closing msimsg.dll. After approx 30 seconds of doing this it would appear to "timeout", post to the application log and then start again. Eventually it gives up and starts the actual patch installation.

    My Workaround

    Installing MSI 4.5 drastically reduces the time, but still leaves a lot of warnings in the eventlog.

    I have read http://support.microsoft.com/kb/907341 but this just seems to indicate "hey, don't worry". I do worry when I have about 8 patches to install thus adding nearly an hour to install/patch cycles :-)

    Upgrading 80,000+ clients with MSI 4.5 is possible but will require extensive testing etc.

    Has anyone got a proper solution for XPSP2/XPSP3 with MSI 3.x clients?

    Cheers,

    Mike

  3. I take it this is running under W2K/XP? If so, this is because the security permissions are locked down which prevents word from using these features correctly.

    It's been a long time since I fixed this :-)

    Use the attached template with secedit:

    %SystemRoot%\system32\secedit.exe /configure /db %SystemRoot%\security\database\office97.sdb /cfg off97.inf

    Obviously I recommend that you read the template first before blindly applying it....

    Cheers,

    Mike

    off97.inf

  4. Hi all,

    Maybe someone can answer this...

    Is there a method to install IE7+Patches without rebooting inbetween? I have an IEAK built IE7. I have MS07-004 & MS07-033 that I also want to deploy - but when I try to install the patches, they complain that IE7 isn't installed....

    Anyone got any ideas?

    Cheers,

    Mike

  5. Hi all,

    Not sure what section this should be in, but this has been a huge issue for me and I suspect for others.

    When installing patches/scanning via Windows/MS update, sometimes the svchost usage would jump to 100% and lock for a looooooong time. There have been various patches to this problem but none which really solved the issue. Until now.

    MS have finally admitted that it's not just an MSI issue, but that it is actually related to the WU code. And there is a new agent to (theoretically) compensate for it. All the details can be found here and provisionally it looks good.

    http://blogs.technet.com/wsus/archive/2007.../update-on.aspx

    Cheers,

    Mike

  6. Another factor which people seem to forget is installing/updating/changing/REMOVING applications from images.

    With an image you usually start accumulating a fair amount of cruft (and in an enterprise that can be real problem). Having an unattended install routine (if done correctly) means that software can be removed/changed easily *from the install* and then an image can be recaptured for deployment.

    Just my 2p worth.

    Cheers,

    Mike

  7. Hi David,

    Yeah, I'm selfish ;) ;) ;)

    No sign of junior yet so I can pencil a quick reply!

    You can save the XML file as whatever you like.

    For sysprep, you call it with:

    %systemroot%\system32\sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:somepath\MyFile.xml

    If you want to use it as part of a scripted build:

    setup /tempdrive:c: /unattend:c:\myfile.xml /noreboot

    Note that sysprep/setup will copy and rename the xml file into the correct area to save you any trouble.

    Cheers,

    Mike

  8. Sorry for the delay in replying - been a little busy preparing for the imminent arrival of my first baby :-)

    Ok, I *think* I have an XML that should help:

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
    <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DiskConfiguration>
    <Disk>
    <WillWipeDisk>false</WillWipeDisk>
    <DiskID>0</DiskID>
    </Disk>
    <WillShowUI>OnError</WillShowUI>
    </DiskConfiguration>
    <ImageInstall>
    <OSImage>
    <InstallTo>
    <DiskID>0</DiskID>
    <PartitionID>1</PartitionID>
    </InstallTo>
    <WillShowUI>OnError</WillShowUI>
    </OSImage>
    </ImageInstall>
    <UserData>
    <ProductKey>
    <WillShowUI>OnError</WillShowUI>
    </ProductKey>
    <AcceptEula>true</AcceptEula>
    </UserData>
    </component>
    <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SetupUILanguage>
    <UILanguage>en-US</UILanguage>
    </SetupUILanguage>
    <InputLocale>en-US</InputLocale>
    <SystemLocale>en-US</SystemLocale>
    <UILanguage>en-US</UILanguage>
    <UILanguageFallback>en-US</UILanguageFallback>
    <UserLocale>en-US</UserLocale>
    </component>
    </settings>
    <settings pass="oobeSystem">
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <RegisteredOwner>OwnerName</RegisteredOwner>
    <RegisteredOrganization>OrgName</RegisteredOrganization>
    <OOBE>
    <HideEULAPage>true</HideEULAPage>
    <ProtectYourPC>3</ProtectYourPC>
    <SkipMachineOOBE>true</SkipMachineOOBE>
    <SkipUserOOBE>true</SkipUserOOBE>
    </OOBE>
    <UserAccounts>
    <AdministratorPassword>
    <Value>bob</Value>
    <PlainText>true</PlainText>
    </AdministratorPassword>
    </UserAccounts>
    <Display>
    <HorizontalResolution>1024</HorizontalResolution>
    <VerticalResolution>768</VerticalResolution>
    <ColorDepth>32</ColorDepth>
    <RefreshRate>75</RefreshRate>
    </Display>
    <TimeZone>AUS Eastern Standard Time</TimeZone>
    </component>
    <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <InputLocale>0c09:00000409</InputLocale>
    <UserLocale>en-AU</UserLocale>
    <UILanguage>en-AU</UILanguage>
    <SystemLocale>en-AU</SystemLocale>
    </component>
    </settings>
    <settings pass="specialize">
    <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Identification>
    <JoinWorkgroup>Workgroup</JoinWorkgroup>
    </Identification>
    </component>
    <component name="Microsoft-Windows-TapiSetup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <TapiUnattendLocation>
    <CountryOrRegion>61</CountryOrRegion>
    <PulseOrToneDialing>1</PulseOrToneDialing>
    <AreaCode>02</AreaCode>
    </TapiUnattendLocation>
    </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:c:/install.wim#Windows Vista ENTERPRISE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>

    Some notes:

    No product key is needed in the XML.. If this is a VL edition, it will setup fine without any key and you should then use either a KMS or MAK.

    I've set the admin password to "bob"

    I've possibly got some of the Australian settings wrong....

    You may want to adjust some of the disk settings.

    General guidance:

    When converting from an unattend.txt, just enter the section/value name into the help file. At the bottom of the section it will normally tell you the are of WSIM to find the setting for inserting to the XML.

    Any further questions just yell!

    Cheers,

    Mike

  9. Hi SydneyGuy,

    Don't despair! It takes time to get into the new way of doing things. Some of it's a nightmare but it can be done.

    Hope these steps are helpful - if not, then please respond.

    1) The XML files can either be 1 big monolithic file which can be used with both unattended setup and sysprep, or you can split it into separate XML files (1 for unattended setups, 1 for syspreps). Different parts get processed in different phases.

    2) Create your build as normal. If creating an unattended scripted build, concentrate on just those settings in the XML - ignore the sysprep settings at this time. At this time the XML is basically performing the settings of the old UNATTEND.TXT. Trying to find direct mappings can be difficult but usually can be done. If in doubt post your XML so far and state what you are trying to achieve - and keep the steps small and simple...!

    3) Once you are happy with your build *then* concentrate on the sysprep settings. You can either add these to your existing XML or create a completely separate XML

    4) sysprep :-). If you don't sysprep then you tend to have problems with imaging.

    5) You *dont* need to use imagex. It's just an image maker/applyer. At this stage I believe you can use Ghost. I personally use imagex for my solution so I might be wrong ;-)

    Cheers,

    Mike

  10. Glad your making progress!

    Its very good to know that the original/uninstalled WIM can have drivers injected - another bit of knowledge for the repository!

    The only thing I can suggest is looking at the sysprep routine.

    I can't remember if you have tried a build as follows:

    1) Build machine from standard ISO (no injection)

    2) DONT install any other drivers/apps etc (this removes them from the equation)

    3) sysprep

    4) inject

    5) restore

    If that works ,you know it must be something else inside the install. If it doesn't work, then you have at least narrowed it down to the sysprep/xml.

    Cheers,

    Mike

  11. Just re-read the first post at the top of the thread.

    I think step 1 is invalid (but as usual, default disclaimer - I'm usually wrong!)

    The default WIM must be "installed" before customizing - and I think that might include driver injections...

    So you would need to do your standard install/capture before injection.

    I feel your pain an frustration. Vista seems to have a much larger learning curve for unattended installs. Keep persisting and keep posting. We all learn from each others experiences!

    Cheers,

    Mike

  12. Hi Ryanj,

    I know we've discussed parts of this offline :-)

    I notice you're now getting an error in package manager. I've had this when my WinPE environment didn't contain all the necessary servicing files.

    I needed the following for pkmgr to work in WinPE:

    cbscore.dll

    dpx.dll

    drupdate.dll

    drvstore.dll

    pkgmgr.exe

    wcp.dll

    wdscore.dll

    I assume from your post that your not using WinPE at this stage (because WinPE WIM mount isn't supported AFAIK!), so it might be an idea to check your servicing paths...

    Cheers,

    Mike

  13. Hi all,

    With previous XP/2K/NT4 hotfixes they either left a log behind or you could use a switch to specify a logfile.

    Anybody know of anything similar for the Vista hotfixes? I can only find a single entry in the eventlog - not very great for debugging installs or trying to find out what's really going on....

    The command line installer only seems to accept /quiet /norestart /h and /?. I hope this isn't the shape of things to come.

    Pointers appreciated!

    Cheers,

    Mike

  14. I'm tempted to say that setup manager was replaced by WSIM (Windows System Image Manager) which is part of the WAIK.

    I say this because the presentation is dated 2005 (so the screenshots are from an early beta), and also the slide is titled "Setup Manager - Creating the Unattend.xml" which is exactly the purpose of WSIM.

    Looking at the screenshot in the background, it has the very basic elements and design of WSIM.

    However, someone else may know better!

    Cheers,

    Mike

  15. I'm not sure if pkgmgr does more then just add the drivers to the driverstore.

    Part of my reason for thinking this is reviewing pkgmgr logs but also some personal observations from building a machine.

    Baseline:

    Built VMWare image

    Sysprepped (either with OOBE or AUDIT - see below)

    Captured WIM

    IBM X60 tablet results:

    Test 1

    Install WIM (OOBEd)

    Copy drivers to c:\$oem$

    Result: Standard vista - tablet components/drivers not installed

    Theory: No PNP happened from a straight OOBE.

    Test 2

    Install WIM (OOBEd)

    Copy drivers to c:\$oem$

    Pkmgr injection

    Result: Tablet vista, all drivers functioning

    Theory: Pkgmgr forced the drivers to actually work/pnp re-detect

    Test 3

    Install WIM (Audit)

    Copy drivers to c:\$oem$

    Result: Tablet vista, all drivers functioning

    Theory: Audit mode re-activated PNP

    For sure, pkgmgr is a *lot* faster for injecting drivers because it doesn't come with all the baggage of the Audit phases...

    I'll stop writing now, because I can't remember the point I was going to make :w00t:

    Cheers,

    Mike

  16. Hi RyanJ,

    I've added the XML that I use below. You'll obviously want to strip parts out. This XML works with redetection via AUDIT modes, but also with injecting via OFFLINESERVICING. The main sections you will probably want to look at are

    <settings pass="offlineServicing">

    <settings pass="auditSystem">

    <settings pass="auditUser">

    If you use sysprep with /AUDIT, the auditsystem/user sections will be invoked - they will do the PNP work and then jump to OOBE. If you invoke with /OOBE then auditsystem/user sections will be skipped.

    Obviously you can try the standard injection with pkgmgr. This XML is set to scan c:\$oem$ and sub-directories.

    Hope it helps!


    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
    <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DiskConfiguration>
    <Disk>
    <WillWipeDisk>false</WillWipeDisk>
    <DiskID>0</DiskID>
    </Disk>
    <WillShowUI>OnError</WillShowUI>
    </DiskConfiguration>
    <ImageInstall>
    <OSImage>
    <InstallTo>
    <DiskID>0</DiskID>
    <PartitionID>1</PartitionID>
    </InstallTo>
    <WillShowUI>OnError</WillShowUI>
    </OSImage>
    </ImageInstall>
    <UserData>
    <ProductKey>
    <Key>[INSERT YOUR OWN]</Key>
    <WillShowUI>OnError</WillShowUI>
    </ProductKey>
    <AcceptEula>true</AcceptEula>
    </UserData>
    </component>
    <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SetupUILanguage>
    <UILanguage>en-US</UILanguage>
    </SetupUILanguage>
    <InputLocale>en-US</InputLocale>
    <SystemLocale>en-US</SystemLocale>
    <UILanguage>en-US</UILanguage>
    <UILanguageFallback>en-US</UILanguageFallback>
    <UserLocale>en-US</UserLocale>
    </component>
    <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DriverPaths>
    <PathAndCredentials wcm:keyValue="7c3d4301" wcm:action="add">
    <Path>c:\$oem$</Path>
    </PathAndCredentials>
    </DriverPaths>
    </component>
    </settings>
    <settings pass="offlineServicing">
    <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DriverPaths>
    <PathAndCredentials wcm:action="add" wcm:keyValue="1">
    <Path>C:\$OEM$</Path>
    </PathAndCredentials>
    </DriverPaths>
    </component>
    </settings>
    <settings pass="auditSystem">
    <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DriverPaths>
    <PathAndCredentials wcm:action="add" wcm:keyValue="1">
    <Path>c:\$oem$</Path>
    </PathAndCredentials>
    </DriverPaths>
    </component>
    <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Reseal>
    <Mode>Audit</Mode>
    <ForceShutdownNow>false</ForceShutdownNow>
    </Reseal>
    </component>
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <UserAccounts>
    <AdministratorPassword>
    <Value>[INSERT YOUR OWN]</Value>
    <PlainText>true</PlainText>
    </AdministratorPassword>
    <LocalAccounts>
    <LocalAccount wcm:action="add">
    <Name>Builder</Name>
    <Group>administrators</Group>
    <Password>
    <Value>[INSERT YOUR OWN]</Value>
    <PlainText>true</PlainText>
    </Password>
    </LocalAccount>
    </LocalAccounts>
    </UserAccounts>
    <AutoLogon>
    <Username>Builder</Username>
    <Enabled>true</Enabled>
    <Password>
    <Value>[INSERT YOUR OWN]</Value>
    <PlainText>true</PlainText>
    </Password>
    </AutoLogon>
    </component>
    </settings>
    <settings pass="auditUser">
    <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Reseal>
    <Mode>OOBE</Mode>
    <ForceShutdownNow>false</ForceShutdownNow>
    </Reseal>
    </component>
    </settings>
    <settings pass="oobeSystem">
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <RegisteredOwner>[INSERT YOUR OWN]</RegisteredOwner>
    <RegisteredOrganization>[INSERT YOUR OWN]</RegisteredOrganization>
    <OOBE>
    <HideEULAPage>true</HideEULAPage>
    <ProtectYourPC>3</ProtectYourPC>
    <SkipMachineOOBE>true</SkipMachineOOBE>
    <SkipUserOOBE>true</SkipUserOOBE>
    </OOBE>
    <FirstLogonCommands>
    <SynchronousCommand wcm:action="add">
    <CommandLine>c:\installer.cmd</CommandLine>
    <Order>1</Order>
    </SynchronousCommand>
    </FirstLogonCommands>
    <UserAccounts>
    <AdministratorPassword>
    <Value>[INSERT YOUR OWN]</Value>
    <PlainText>true</PlainText>
    </AdministratorPassword>
    <LocalAccounts>
    <LocalAccount wcm:action="add">
    <Name>Builder</Name>
    <Group>administrators</Group>
    <Password>
    <Value>[INSERT YOUR OWN]</Value>
    <PlainText>true</PlainText>
    </Password>
    </LocalAccount>
    </LocalAccounts>
    </UserAccounts>
    <AutoLogon>
    <Username>Builder</Username>
    <Enabled>true</Enabled>
    <Password>
    <Value>[INSERT YOUR OWN]</Value>
    <PlainText>true</PlainText>
    </Password>
    </AutoLogon>
    </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:c:/vistawim/installb2.wim#Windows Vista Ultimate" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>

    Cheers,

    Mike

  17. Another day, another try... and success!

    For those of you who encounter this problem, the solution is:

    DO NOT CUT AND PASTE FROM THE WAIK HELP FILE.

    For some reason it dumped some invisible junk in the XML file. Not viewable from notepad, but enough to cause the package manager to cough blood and die. It would be slightly nicer if the error messages were a *little* more informative ;-)

    So either retype by hand, find a known working sample (in very plain text!), or use the SIM.

    Cheers,

    Mike

  18. Hi all,

    Does PkgMgr.exe work from *inside* WinPE?

    Here's what I'm trying to do:

    1) Create baseline image

    2) Sysprep/Capture

    3) Boot WinPE image (which includes various tools - imagex, pkgmgr etc)

    4) Format hard disk

    5) Imagex /apply WIM

    6) Copy drivers to C:\OEM\Mouse, C:\OEM\Video etc

    6) Use PkgMgr to inject drivers.

    Stages 1-5 seems to work fine.

    Stage 6 crashes and burns :wacko:

    I *think* I have the XML and commands correct:

    XML snippet:


    <settings pass="offlineServicing">
    <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
    <DriverPaths>
    <PathAndCredentials wcm:keyValue="1">
    <Path>c:\oem</Path>
    </PathAndCredentials>
    </DriverPaths>
    </component>
    </settings>

    PkgMmgr command:


    pkgmgr /o"c:\;c:\windows" /n:c:\unattend.xml /l:"c:\log2.txt"

    And the resulting log file:


    2007-01-31 10:02:54, Info CBS Pkgmgr: called with: "pkgmgr /o:"c:\;c:\windows" /n:c:\unattend.xml /l:"c:\log2.txt""
    2007-01-31 10:02:54, Info CSI 00000001@2007/1/31:18:02:54.564 WcpInitialize (wcp.dll version 0.0.0.5) called (stack @0x73a7f745 @0xb02dbf @0xafd892 @0xafe27e @0x77273833 @0x7734a9bd)
    2007-01-31 10:02:54, Error CSI 00000002@2007/1/31:18:02:54.564 (F) d:\vistartm\base\xml\udom_builder.cpp(932): Error c000a083 [Error,Facility=(system),Code=41091 (0xa083)] originated in function CMicrodomXmlWalker::XmlError expression: (null)
    [gle=0x80004005]
    2007-01-31 10:02:54, Info CBS Pkgmgr: return code: 0x5b9

    I've very probably got something misconfigured, but I'm scratching my head....!

    All pointers/suggestions welcome.

    Cheers,

    Mike

  19. Hi RyanJ,

    I had issues trying to load/inject drivers using the Specialize pass. I found the best method (that worked for me!) was:

    Building/Capturing

    1) Build machine

    2) Sysprep the machine with /AUDIT /GENERALIZE (as opposed to OOBE)

    3) Capture the WIM

    4) Save the WIM someplace safe :-)

    Restoring

    1) Clean hard disk

    2) Copy PNP drivers to hard disk e.g C:\DRIVERS

    3) Restore WIM to hard disk

    4) Boot

    I ensured that I included the drivers path in the Audit section, and then set the final audituser mode to reboot to OOBE.

    Hope that makes sense.

    Cheers,

    Mike

×
×
  • Create New...