Jump to content
MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. ×

leen2

Member
  • Posts

    44
  • Joined

  • Last visited

  • Donations

    $0.00 

Everything posted by leen2

  1. The original error you were getting was "0x80070002" = ERROR_FILE_NOT_FOUND. This is usually caused by a little known feature of DISM, that it is horribly case sensitive and treats C:\path... as different from c:\Path... even though Windows explorer and the command line see them as the same. Note, if copying and pasting text from a text editor, smart quotes are different characters than regular quotes, etc... and will generate the same error. So best advice is to locate the correct path in windows explorer and copy the entire path from the explorer bar as it is actually displayed. You can also copy it from the command line. This will copy the correct capitalization into the command. In the second post, error code "0x80070057" = "The parameter is incorrect", so something is incorrect in the command you are trying to execute.
  2. the correct value for ProcessorArchitecture for the x64 platform is "amd64". You should replace x64 with amd64 in your xml file and try again. e.g. the corrected line in your example would be: <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> Hope this helps.
  3. DISM is horribly case sensitive and requires that all path statements in its command line commands are entered exactly as they are displayed in windows. This is very Unix/Linux like and for example results in C:\temp and C:\TEMP being different locations to DISM even though to windows they are the same. I suggest that you copy and paste the full path to any driver files into the command to avoid case sensitivity issues. In addition, if you copy the path from Windows explorer to a text editor and need to add quotes to the command line you are editing, be careful that your text editor does not use smart quotes which will look the same as regular quotes on the command line but will also generate this error. The developer who wrote the code for DISM should be retrained on programming for Windows.
  4. In: <component name="Microsoft-Windows-Setup" processorArchitecture="x86".... you need to specify the OS version you want to install. e.g. <component name="Microsoft-Windows-Setup" processorArchitecture="x86".... <ImageInstall> <OSImage> <InstallFrom> <MetaData wcm:action="add"> <Value>Windows Longhorn SERVERSTANDARD</Value> <Key>/IMAGE/NAME</Key> </MetaData> <Path>... path to install.wim file </Path> <Credentials> .... If needed to access source media on a file share <Domain> NT Domain </Domain> <Password> NT User Account </Password> <Username> NT User password </Username> </Credentials> </InstallFrom> <InstallToAvailablePartition>true</InstallToAvailablePartition> <WillShowUI>OnError</WillShowUI> </OSImage> </ImageInstall> The names of the OS versions come from the catalogue files that ship with the OS. If you open the .wim file in Windows System Image Manager it will ask you to load the catalogue file for the OS you are building.
  5. I notice that you are using the 64-bit WAIK for a 64-bit image. I believe the 64-bit OS kernel requires signed drivers and will ignore any unsigned drivers. I would suggest obtaining the signed drivers from Dell for this and remove the /forceunsigned switch. I could be wrong, but it might help.
  6. Sorry for the delay in responding, I forgot to check back on this article: For Static DNS entries use the following: <component name="Microsoft-Windows-DNS-Client" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Interfaces> <Interface wcm:action="add"> <DNSServerSearchOrder> <IpAddress wcm:action="add" wcm:keyValue="1">10.2.1.4</IpAddress> <IpAddress wcm:action="add" wcm:keyValue="2">10.2.1.5</IpAddress> </DNSServerSearchOrder> <Identifier>00-52-6C-93-04-75</Identifier> <EnableAdapterDomainNameRegistration>true</EnableAdapterDomainNameRegistration> <DisableDynamicUpdate>true</DisableDynamicUpdate> <DNSDomain>your.domain.name.com</DNSDomain> </Interface> </Interfaces> <DNSDomain>your.domain.name.com</DNSDomain> <UseDomainNameDevolution>true</UseDomainNameDevolution> </component> For static WINS entries use the following: <component name="Microsoft-Windows-NetBT" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Interfaces> <Interface wcm:action="add"> <NameServerList> <IpAddress wcm:action="add" wcm:keyValue="1">10.2.1.6</IpAddress> <IpAddress wcm:action="add" wcm:keyValue="2">10.2.1.7</IpAddress> </NameServerList> <Identifier>00-52-6C-93-04-75</Identifier> <NetbiosOptions>1</NetbiosOptions> </Interface> </Interfaces> </component> For Static address set against a specific MAC address use: <component name="Microsoft-Windows-TCPIP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Interfaces> <Interface wcm:action="add"> <Identifier>00-52-6C-93-04-75</Identifier> <Ipv4Settings> <DhcpEnabled>false</DhcpEnabled> <Metric>10</Metric> <RouterDiscoveryEnabled>false</RouterDiscoveryEnabled> </Ipv4Settings> <UnicastIpAddresses> <IpAddress wcm:action="add" wcm:keyValue="1">192.168.100.66/24</IpAddress> </UnicastIpAddresses> <Routes> <Route wcm:action="add"> <Identifier>1</Identifier> <Metric>10</Metric> <NextHopAddress>192.168.100.1</NextHopAddress> <Prefix>0.0.0.0/0</Prefix> </Route> </Routes> </Interface> </Interfaces> </component>
  7. DISM is horribly case sensitive and requires the full path to any driver file to be in the exact case as it appears on the system. I tend to use windows explorer to display the path in the address bar and then copy and paste it into the command to make sure the case matches. Also watch out for smart quotes if you paste this into a text editor to construct the command first, if the text editor formats the quotes, when you paste it back to the command line it looks correct but is actually different ASCII characters and DISM complains it can't find the file specified.
  8. Try the following: <component name="Microsoft-Windows-TCPIP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Interfaces> <Interface wcm:action="add"> <Identifier>Local Area Connection</Identifier> <Ipv4Settings> <DhcpEnabled>false</DhcpEnabled> <Metric>10</Metric> <RouterDiscoveryEnabled>false</RouterDiscoveryEnabled> </Ipv4Settings> <UnicastIpAddresses> <IpAddress wcm:action="add" wcm:keyValue="1">192.168.100.66/24</IpAddress> </UnicastIpAddresses> <Routes> <Route wcm:action="add"> <Identifier>1</Identifier> <Metric>10</Metric> <NextHopAddress>192.168.100.1</NextHopAddress> <Prefix>0.0.0.0/0</Prefix> </Route> </Routes> </Interface> </Interfaces> </component> also we ude the MAC address of the network card for the identifier in the form of "00-52-6C-93-04-75" but it is supposed to work with the name of the connection however with multiple connectinos in a machine it easy to confuse which is which.
  9. Make sure you also add the appropriate language packs for any packages you add to WinPE. They are usually in a sub folder from where you added the packages from.
  10. The 0x0000007b stop code is for an "inaccessible Boot device", meaning that Windows does not have a driver loaded that it can use to access the local disk that it is being told to boot from. Normally during the boot process you would hit F6 when prompted to provide a driver, however I believe that the Recovery console can be run from the Windows install CD anyway, so not sure why you would even need this now anyway. But in any case this error is saying you don't have a driver for the disk.
  11. Tripredacus, thanks so much for the reply. I am using the .wim from the WAIK by using the copype.cmd. Below is the output: Updating path to include dism, oscdimg, imagex C:\Program Files\Windows AIK\Tools\PETools\ C:\Program Files\Windows AIK\Tools\PETools\..\x86 C:\Program Files\Windows AIK\Tools\PETools\..\x86\Servicing; C:\Program Files\Windows AIK\Tools\PETools>copype.cmd amd64 C:\winpe_amd64 =================================================== Creating Windows PE customization working directory C:\winpe_amd64 =================================================== 1 file(s) copied. 1 file(s) copied. 1 file(s) copied. 1 file(s) copied. 1 file(s) copied. C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\bcd C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\boot.sdi C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\bootfix.bin C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\efisys.bin C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\efisys_noprompt.bin C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\etfsboot.com C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\fonts\chs_boot.ttf C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\fonts\cht_boot.ttf C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\fonts\jpn_boot.ttf C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\fonts\kor_boot.ttf C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\fonts\wgl4_boot.ttf 11 File(s) copied C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\boot\bootx64.efi C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\bcd C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\fonts\chs_boot.ttf C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\fonts\cht_boot.ttf C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\fonts\jpn_boot.ttf C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\fonts\kor_boot.ttf C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\fonts\wgl4_boot.ttf 7 File(s) copied 1 file(s) copied. Success Updating path to include peimg, cdimage, imagex C:\Program Files\Windows AIK\Tools\PETools\ C:\Program Files\Windows AIK\Tools\PETools\..\x86 Mount the image again using DISM and delete/rename the setup.exe file from inside the image. I Think it is in the windows\system32 folder, but it could be somewhere else. By default when PE loads it looks for the file and runs it automatically if it finds it. Of course if it runs it and you exit out of setup, WinPE reboots immediately and don't get the customized environment you thought you would.
  12. Seems like you all made a lot of progress on this. However when scanning through all the posts I failed to see any mention of the biggest problem with DISM here, so I am adding this note to assist those who don't know, or have not figured it out. Basically DISM is horribly case sensitive, particularly when it comes to file paths. As a result the paths "E:\drivers\driver.inf" and "E:\DRIVERS\DRIVER.INF and any variations of these are completely different to DISM, yet identical to windows. To fix the issue, I found I needed to copy and paste the actual paths in Windows explorer into the command line to get it to work. I also found that if I copied this to Notepad, and constucted the command line in Notepad first, then copied it to the command prompt it also worked. However you also have to be careful when doing this with smart quotes as some text editors convert quotes to smart quotes and this will also appear to be an invalid path to DISM. Hope this helps.
  13. This concept was originally was created by Citrix when they produced WinFrame as a way of handling multiple user sessions on the same machine as a way to handle keeping each user's temp location unique to each user. Microsoft added it to their OS subsequently as they added Windows Terminal Services to the OS, and this only happened when logging into a terminal services session. With the evolution of the OS in the Vista timeframe, Micrsooft added the ability for you to have multiple users logged into the OS console at the same time and switch between user sessions, to do that they used the same concept borrowed from the Windows Terminal Services side of the OS. It is just a mechanism to keep the temp variable locations unique and separate between users. The number used for the directory is actually the session ID number for the user session.
  14. Use the version that has SP2 already in it. You can download it from Microsoft.
  15. Some what! You are not actually forced to use WAIK, it is just a tool to figure out the peices of the puzzel and it gives you a copy of WinPE you will need to boot the system you are deploying. Winnt32.exe was replaced by Setup.exe in the Vista / Server 2008 / 7 set of OS versions. The unattend.txt file format was replaced by Unattend.xml xml style format, Windows Text mode setup was eliminated and Windows setup morphed into 7 setup passes that setup goes through during OS installation to build the OS. In addition, the deployment of the OS is image based, and you can modify that image to include whatever you need, merging in drivers, service packs etc..., you can make multple images and use different ones to install different setups. Like I said, you Can do all that, we don't! If you already very familiar with scripted unattended builds on OS versions pre Vista, then once you become familiar enough with the new technologies you will find a lot it is unnessary and overly complicated. Currently we use a single WIM image for all OS builds for a particluar OS version (e.g one WIM image for 2008 Web / Standard / Ent / data), we dynamically create the unattend.xml file based on the input from the end user and launch Setup.exe with the unattend.xml from a UNC network share location. We do not maintain different images for differnent hardware and the image we use is the default once that comes from Microsoft in the OS media. For drivers we use a distribution share and the unattend.xml file has the location and credentials to obtain all needed drivers from this location during Setup. We do use WinPE as a boot disk, however we have used this since the first version. I would start with downloading WAIK, work through the documentation included on how to produce a customized WinPE boot environment (note for WinPE 3.0 in the latest version of WAIK, the DISM command is case sensitive, slow and the WinPE image includes a copy of Setup.exe that autoruns when WinPE boots - we needed to delete the copy of Setup.exe that autoruns so that WinPE would do what we wanted). Once you have your WinPE customized iso produced, you can use Windows System Image Manager to load up the install.wim from Windows Server 2008 media, pick the catalogue file for the edition of the OS you would plan to install and from there create an unattend.xml file. Technically at that point you could boot WinPE on a system, run setup.exe /unattend with your unattend.xml file and let setup install windows for you based on the contents of the unattend.xml file. As I previously said, we dynamically create the unattend.xml file using vbscripts so that we have a custom file every time we run a build. While this is a gross over simplification, if is essentially one way of doing this. You can Windows deployment services, I have heard of n-lite and v-lite that others have put together to try to make this a simpler process, but have not tried them. Good luck.
  16. CurrentControlSet will only be present while WinPE is booted and running. CurrentControlSet is dynamically built from ControlSet001 during WinPE boot. In the ofline image of WinPE, add your changes to ControlSet001.
  17. I found a few problems with DISM that you may be experiencing: Apart from the fact that DISM can be incredibly slow to perform actions that are much faster with ImageX or pkgmgr, DISM is case sensitive when it comes to paths. The only reliable way I have found to work with DISM is to copy the exact path in Windows Explorer and paste it into the DISM /Add-Package command. I also found that DISM does not like smart quotes, so if you copy the path to an application like Word or OneNote and edit it there before pasting into the command prompt to run, you need to delete and retype any quotes as DISM will reject the smart quotes with a standard "path not found error". (Atlernative set Word or OneNote to not use smart quotes). Once you get used to this, DISM should work fine. We don't use WDS so I can't help you there, however I would note that you should make sure that when installing any package into the WIM image you must also install the associated language package for that packaged component. For example, if adding the HTA package, you must also add the HTA language package as well, otherwise you will get similar language errors to what you are seeing when that component is used. e.g. Dism /image:c:\7pe\winpe_x64\mount /Add-Package /PackagePath:"C:\<path to packages>\packages\winpe-hta.cab" Dism /image:c:\7pe\winpe_x64\mount /Add-Package /PackagePath:"C:\<path to packages>\packages\en-us\winpe-hta_en-us.cab"
  18. You need to specify the Autologon section of Microsoft-Windows-Shell-Setup in the oobeSystem setup pass. Basic answer file settings would be: <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OOBE> <HideEULAPage>true</HideEULAPage> <NetworkLocation>Other</NetworkLocation> <ProtectYourPC>3</ProtectYourPC> <SkipUserOOBE>true</SkipUserOOBE> </OOBE> <ShowWindowsLive>false</ShowWindowsLive> <StartPanelOff>false</StartPanelOff> <TimeZone>Your Time Zone goes here</TimeZone> <UserAccounts> <AdministratorPassword>*SENSITIVE*DATA*DELETED*</AdministratorPassword> </UserAccounts> <RegisteredOrganization>*SENSITIVE*DATA*DELETED*</RegisteredOrganization> <RegisteredOwner>*SENSITIVE*DATA*DELETED*</RegisteredOwner> <AutoLogon> <Password>*SENSITIVE*DATA*DELETED*</Password> <Enabled>true</Enabled> <LogonCount>2</LogonCount> <Username>administrator</Username> </AutoLogon> <Display> <ColorDepth>32</ColorDepth> <HorizontalResolution>1024</HorizontalResolution> <VerticalResolution>768</VerticalResolution> </Display> <FirstLogonCommands> <SynchronousCommand wcm:action="add"> <CommandLine>c:\yourcmd-script-here.cmd</CommandLine> <Description>Initial Script to run</Description> <Order>1</Order> </SynchronousCommand> <SynchronousCommand wcm:action="add"> <CommandLine>c:\yourcmd-script-#2-here.cmd</CommandLine> <Description>Post Configuration Script</Description> <Order>2</Order> </SynchronousCommand> </FirstLogonCommands> </component> Note the above assumes x64 OS version, processorArchitecture="amd64", if installing 32-bit OS version change processorArchitecture="amd64" for processorArchitecture="x86" in the above.
  19. Use DISM to add the winpe-scripting package to your PE image. e.g. Dism /image:<path to your mounted image> /Add-Package /PackagePath:<path to your petools packages folder \winpe-scripting.cab> Then add the language package for it as well. e.g. Dism /image:<path to your mounted image> /Add-Package /PackagePath:<path to your petools packages\en-us folder \winpe-scripting_en-us.cab>
  20. While we are not up to 8.30 yet, for slightly older versions wer use the following: in a batch file we call "hpsum.exe /bundle bp000xxx.xml /silent /use_wmi /use_snmp" where the bp000xxx.xml file is the one supplied with the PSP. We also run a script to add the local administrators group to the Distributed COM users group, a separate script to set the system management home page to use SNMP and we copy certificate files for our CIM servers to the c:\hp\hpsmh\certs\ folder on the server. Currently this works for us.
  21. What you are trying to do is not as easy as you might think. One of the problems you face is that XP is designed to boot from a machine that includes a standard BIOS. An Intel IMac does not use a BIOS. Instead it uses Intel's EFI (Extensible Firmware Interface) shell that they developed as a replacement for the standard x86 BIOS when they produced the Itanium line of systems (IA64 architecture). I don't believe that XP natively supports the EFI interface, I may be wrong.
  22. Add the Microsoft-Windows-UnattendedJoin component to your answer file as follows: (for 32-bit x86 change the processorArchitecture value in the line accordingly) <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" 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> <Credentials> <Password> domain account password </Password> <Username> domain account in the form of domain\user </Username> </Credentials> <JoinDomain> name of the domain to join in AD naming format</JoinDomain> <MachineObjectOU> OU to place machine account into in LDAP format OU="...",cn="....",dc="..." etc... </MachineObjectOU> </Identification> </component> The credentials section is the account and password used to join the domain, this needs sufficient rights in AD. The other settings are the name of the domain (in AD DNS format) and the full LDAP path for the OU where the machine account should be created.
  23. use vbscript to read the file into a variable, then search and replace the text you need within the variable and write out the variable as a text file again.
  24. Unattend.xml, or any similarly named .xml file, in the context of setting up or installing an OS is an answer file. This is used by Setup.exe or Sysprep.exe to provide the answers needed to install the OS in the manner you want, automatically without prompting the user for the answers. From Startnet.cmd you would typically launch setup.exe or sysprep.exe with the unattend.xml file specified as a parameter. The help information for these programs can give you information on them. You would not launch unattend.xml directly.

×
×
  • Create New...