Driver file copies, name gets shortened, sysprep can't find file

randall's picture

OK so we have independent imaging setup and working fine. I am running into an issue with an HP/Compaq laptop however. The video driver name is this: igmedcompkrn.dll However, when dos copies the file using the script it gets truncated due to the long name of the file. It gets truncated to this: igmedc~1.dll How can I force the file name to stay intact when the file gets copied over? What happens is when sysprep runs it can't find the file it needs because the name has been shortened.

neil_rogers's picture

Preboot or driver install

I have seen win95 do this then switched to win98SE for the preboot os and it was fine.

Since it is a video driver issue, you may want to check another place for the problem... It may need to run the setup program to function correctly, with all the widgets and stuff it puts in the right click menu and on the system tray, so you can press and button and give a presentation.

What i have done to get around that issue is to run the setup program from sysprep or as a step once the aclient connects back up, run c:\drivers\vid1\setup.exe to install the application.

Also since you don't need the video drivers until that point, take it out of your drivers folder, copy the files down in a step preceding the install.

neil

randall's picture

Thanks for the help. Last

Thanks for the help. Last night I was able to get it to work I just re-named the file to a shorter name in the driver folder and went into the inf for the driver files and edited the name to match up and it worked.

Comwhiz30's picture

File names are being truncated

Ok so we got some new Dell equipment. When we setup the drivers folder and then image the laptop (Dell E4300 or D630 & 620)some of the files get truncated in the copy process from altiris to the c:\drivers folder on the local machine. The file specifically that is giving us issues is the WdfCoInstaller01005.dll, it ends of being WdfCoInstal~1.ll. This also happens on other files too, the D630 it does this for the mouse and the wireless. Any help would be greatly appreciated, we have been experiencing this issue for some time. I also tried to modify the .INF file for the mouse, but then it still didnt see everything and said that the driver version was older than what it should have been.

mojomatt's picture

Had a similar problem doing

Had a similar problem doing scripted installs.  There is a file that accomodates for this in the unattend file.  I Hope you can use this to figure out your problem...

This is the relavent change from the file copysgdd.bat ….
 
rem ********************************************************************************
rem * Check for errors: DDCOPY.EXE
rem ********************************************************************************
if not errorlevel 1 goto RENAME
echo An error occurred during ddcopy of the driver set to the target.
echo Source path = %DSET_PATH%
echo.
goto ERROR
 
:RENAME
Echo [\Drv\bcii]>>%WRK_DIR%\$oem$\$1\$$Rename.txt
rem Echo WDFCOI~1.DLL = WdfCoInstaller01005.dll>> %WRK_DIR%\$oem$\$1\$$Rename.txt
Echo WUDFUP~1.DLL = WUDFUpdate_01005.dll>>%WRK_DIR%\$oem$\$1\$$Rename.txt
Echo WDFCOI~1.DLL = WDFCOINSTALLER01007.DLL>>%WRK_DIR%\$oem$\$1\$$Rename.txt
 
Echo [\Drv\bcii2]>>%WRK_DIR%\$oem$\$1\$$Rename.txt
rem Echo WDFCOI~1.DLL = WdfCoInstaller01005.dll>>%WRK_DIR%\$oem$\$1\$$Rename.txt
Echo WUDFUP~1.DLL = WUDFUpdate_01005.dll>>%WRK_DIR%\$oem$\$1\$$Rename.txt
Echo WDFCOI~1.DLL = WDFCOINSTALLER01007.DLL>>%WRK_DIR%\$oem$\$1\$$Rename.txt
 
 
Echo [\Drv\bcii3]>>%WRK_DIR%\$oem$\$1\$$Rename.txt
rem Echo WDFCOI~1.DLL = WdfCoInstaller01005.dll>>%WRK_DIR%\$oem$\$1\$$Rename.txt
Echo WUDFUP~1.DLL = WUDFUpdate_01005.dll>>%WRK_DIR%\$oem$\$1\$$Rename.txt
Echo WDFCOI~1.DLL = WDFCOINSTALLER01007.DLL>>%WRK_DIR%\$oem$\$1\$$Rename.txt
ianatkin's picture

 I know it seems a pain now

 I know it seems a pain now as you've got HII up and running with DOS, but ever thought of moving to Linux or WinPE? The performance is better and you can do much more scripting from there too.

I used to use DOS, but eventually made the effort to move to Linux for automation in our HII and have never looked back!

Kind Regards,
Ian./

Ian Atkin
Senior Developer for the ICT Support Team,
Oxford University, UK

ianatkin's picture

just to add.....

Reasons to move away from DOS are,

  1. It's now de-emphasised
  2. The waterloo TCP stack isn't well behaved, and doesn't close TCP connections nicely. This can cause some firewalls to drop the TCP 402 packets from clients which boot into DOS automation several times.
  3. The 8.3 file format is a pain for HII -you have to workaround driver injection issues for long product/model names and long driver filenames. These problems just don't exist if you run these scripts within WinPE or Linux.
  4. You can't detect processors  within DOS. With Linux and WinPE you can write a script to see if you are a uni or multiprocessor machine which is handy for HAL changes in sysprep.
  5. DOS has limited base memory which means the memory buffers for TCP are by default very smal ~2K. The DOS TCP stack therefore needs tweaking to get good imaging speeds.
  6. As you add automation SMB mappings, your finite driver space also means that your tweaked TCP stack might not have enough memory to run, and you need to reduce it again.
  7. Very limited scripting support when compared with Linux and  WinPE 

There are of course a few reasons to stay with DOS,

  1. Its very  lightweight. Very fast download from PXE servers and quick startup time (however, sometimes the slow imaging speeds can offset this)
  2. You can use the UNDI driver (milage varies)
  3. Many RAID controllers which are devils to image through Linux and WinPE can be imaged without fuss if they expose themselves over Interrupts 13/14.

In fairness, I use both DOS and Linux automation. Linux is the workhorse automation environment, and DOS tends to be the imaging OS for new machines until I get the Linux support added properly into the HII pool. I still love DOS.

Kind Regards,
Ian./


Ian Atkin
Senior Developer for the ICT Support Team,
Oxford University, UK

Rdutch12's picture

Another reason to move to WINPE

One other reason to move to WINPE is that the new "Deploy Anywhere" feature is only supported for WINPE.
Deploy Anywhere will detect your hardware and injects the Mass Storage Drivers and the Network drivers as part of deploying an image.
It is also very easy to add new drivers.

Rob Hilberding
Sr. Consultant
ExpressAbility
www.expressability.com