Atari800XL Posted December 19, 2014 Share Posted December 19, 2014 This is what I did: (1) Create standard Vista setup USB (diskpart) (2) Clean test laptop: install to only (new) partition (3) System drive is C: (4) Sysprep: generalize - shutdown system (5) Boot with Win8PESE (6) Capture new setup to new wim This new wim then seems to work fine with WinNTSetup (why?) Tested new wim on a different laptop, partitions 1 and 2 already in use (hidden, Grub4dos multiboot), installed to partition 3 (so partition numbers etc. are not critical at all, it seems). It has the correct C: letter! Hooray!! (again, why?) Next, I will do an "updaterun" and create another new .wim. If everything works, this is going a lot smoother than I expected! Last step after that is modify my PostInstall for Vista (already runs on w98, xp, 7, 8, 8.1, 10). Thanks JFX, your tips were invaluable once again!!!! Link to comment Share on other sites More sharing options...
steve6375 Posted December 19, 2014 Share Posted December 19, 2014 (edited) FWIWPartition letters can be critical when capturing. As long as the drive is always C: then things should be OK.e.g. If you capture drive C: as image 1, then partition a new disk which WinPe gives letter of D: to, when you apply the Image 1 to D:, ImageX/DISM will change the junctions points to point to D: . Now if you boot the hard disk and the partition is now C:, the junction points will still be hard coded to point to D: and will all be incorrect. To check this type DIR C:\ /a:L in Vista - C:\Documents and Settings junction point should point to C:\Users. To avoid this, you need to use the Norpfix switch/NoRpFix disables the reparse point tag fix. A reparse point is a file that contains a link to another file on the file system. If /NoRpFix is not specified, reparse points that resolve to paths outside the value specified by/ImageFile will not be captured. Edited December 19, 2014 by steve6375 Link to comment Share on other sites More sharing options...
Atari800XL Posted December 19, 2014 Share Posted December 19, 2014 (edited) e.g. If you capture drive C: as image 1, then partition a new disk which WinPe gives letter of D: to, when you apply the Image 1 to D:, ImageX/DISM will change the junctions points to point to D: . Now if you boot the hard disk and the partition is now C:, the junction points will still be hard coded to point to D: and will all be incorrect. Thanks for explaining, steve6375! It will take a few rereads to fully understand what you just explained, but for now I will remember to make sure the destination/ install partition for WinNTSetup will always be C: (as I usually do). For OS install, I always boot with Win8PESE, then use diskmanagement to prepare the partition (I always use 3 primary partitions to be able to use 3 operating systems on 1 hd): remove the partition first, make sure driveletter C: is available, then create new one -automatically set to C: in that case-, make sure it's active). Then use WinNTSetup to install any OS I want.(Afterwards: use Bootice to install grub4dos, menu.lst hides partitions from eachother, just my preference) EDIT: steve6375: Not sure if you catch this edit, but is there any way to explain why the original install.wim (when used with WinNTSetup) would assign D:, and the newly captured one assigns C:? Edited December 19, 2014 by Atari800XL Link to comment Share on other sites More sharing options...
JFX Posted December 19, 2014 Author Share Posted December 19, 2014 @Atari800XLWinNTSetup, does not change the drive letter, it just tells the Windows to do it.But Vista ignores this in the fast install way, so it will always stay with the drive letter it was installed. @Steve6375Thanks for the dir command, this /aL switch it's quite useful.But /NoRpFix is only for junctions that point outside the image. Link to comment Share on other sites More sharing options...
Atari800XL Posted December 20, 2014 Share Posted December 20, 2014 OK, just a final "thank you" for helping me create my new Vista.wim. I will save all three versions (1=standard, 2=captured from stadard install with sys=C: for install with WinNTSetup, 3=fully updated 20141219).I would never have figured out "the C:\ thing" by myself. I've added the wim to my Win8PESE usb, which holds "all" operating systems now (all unattended). I've also adapted my PostInstall to Vista (pretty much the same as 7, with a few exceptions), also unattended. Let's hope new Vista installs will not be needed often, but once my PostInstall takes care of an OS, you can hardly tell the difference between any of them from a distance, anyway (they all have a completely empty blue desktop)...It's all about productivy here Thanks JFX, have a happy Chritmas... Link to comment Share on other sites More sharing options...
Atari800XL Posted December 21, 2014 Share Posted December 21, 2014 One more question, if I may, about adding drivers. I'll try to be short and concise.For XP setups, I always use the WinNTSetup add drivers feature (from the command line). In PE, I use an Autohotkey script to determince which PC I'm on, it then mounts the needed "drivers.iso" as L:, then passes L: as driver folder. Works every time. For W7/8.1, I don't use this method, because it didn't work for me. Instead, I add some drivers to the .wim with DISM. Works fine as well. For my new Vista wim, it seems integrating the (i965 video) driver with DISM is not supported for Vista install.wim images. So I was wondering if there's something I can do to get the first ("XP") method working for Vista (or even for 7/8.1).Am I doing something wrong? Here's my command line (for W7 in this example): run,q:\winntsetup\WinNTSetup_x86.exe nt6 -source:y:\os\w7.wim -syspart:c: -unattend:"autounattend_w7.xml" -savedriveletters -sysletter:c -reboot -disableuac -drivers:L: -runafter:"CopySetupScriptsW7.exe" Is there a way to check the integration of the drivers just before the final reboot (= start of setup)? Thanks! Link to comment Share on other sites More sharing options...
JFX Posted December 21, 2014 Author Share Posted December 21, 2014 (edited) Well, you could check the Winntsetup.log in the windows directory.It should show which *.inf files were integrated and which not. Also there should be a Dism_stdout.log, too. Edited December 21, 2014 by JFX Link to comment Share on other sites More sharing options...
Atari800XL Posted December 21, 2014 Share Posted December 21, 2014 (edited) Thanks JFX, just did a Vista apply (I think it's the same with 7/8, though), with drivers from a mounted iso, I quickly cancelled the final "reboot" screen, so I can take a look at the log files. There is no Dism_stdout.log, only a WinNTSetup.log. Please tell me which steps I could take next.At the bottom of the WinNTSetup GUI, after the apply I can see the words "Integrating drivers", but it looks like nothing has been added?In my Tools\x64 folder are: bcdboot, bcdedit, bootice, bootsect, msstmake, offreg.dll, wimgapi.dll. Do I need more? I'm using Win8PESE-64, DISM is available (use it for capture, too). Version 6.2.9200.16384. Edited December 21, 2014 by Atari800XL Link to comment Share on other sites More sharing options...
JFX Posted December 21, 2014 Author Share Posted December 21, 2014 (edited) Driver ingratiation for Vista is a special one, as there is no dism on vista.Also I never tried WinPESE WOW64 for that Vista servicing. In next version I'll try to use DISM from current system. Edited December 21, 2014 by JFX Link to comment Share on other sites More sharing options...
Atari800XL Posted December 21, 2014 Share Posted December 21, 2014 (edited) OK, at least we know that now. I'll scrap the files now and check out W7 W8.1 next. Hold on... (Didn't even realize that you would normally use the "OS to install" for the tools, I assumed you would use WinPESE8's files. But of course that assumption was wrong, because you can't tell which "host" system people use). EDIT: Did a 8.1-32 apply now with WinNTSetup (In Win8PESE-64 again). I'm at the "pre-reboot" stage again, there's an extra line in WinNTSetup.log now:"Driver path: D:" (this is the mounted iso, with one "vid" folder)Dism return code: -1073741515 Nothing seems to have happened. There's a 0-byte "Dism_stdout.log" Thanks for looking into this, JFX!! (Does it help if I try out some manual DISM command at this point? I can leave the laptop as it is now, or make a .tib backup...) Edited December 21, 2014 by Atari800XL Link to comment Share on other sites More sharing options...
JFX Posted December 21, 2014 Author Share Posted December 21, 2014 (edited) So, dism crashes cause there is no wimgapi.dll in \Windows\Syswow64 folder.Well this can be fixed quite easy.But for Vista, my last idea to use dism was wrong, it's not possible to use dism here for driver integration. Edited December 21, 2014 by JFX Link to comment Share on other sites More sharing options...
Atari800XL Posted December 21, 2014 Share Posted December 21, 2014 (edited) So, dism crashes cause there is no wimgapi.dll in \Windows\Syswow64 folder.Well this can be fixed quite easy.But for Vista, my last idea to use dism was wrong, it's not possible to use dism here for driver integration. Dism crashes because the dll is missing? So this has never been a problem before? Am I doing something out of the ordinary, then? (Meaning: Is this the wrong way to go about it?) It seemed like a very handy method: Autohotkey checks BIOS info, then mounts the correct iso with specific drivers, WinNTSetup integrates them in the (applied) source (so the original source can stay "clean", also when new versions are made, there's no need for extra work). So it would be great if it could work! So you're saying my trouble began when I started using Win8PESE-64 instead of Win7PESE-32 before? That could indeed be the case, because in my memory it "used to work"!(Now I'm confused again, because the system I was *installing* was 32-bit, and didn't you say the *target* system's DISM was used?) So for Vista, it will not work. This is no problem at all, for the few cases I need it, manual driver installation is fine. But maybe you know another way of automating a driver install? (I've never done it).For XP, I sometimes set HKLM\s\m\\w\curr\DevicePath to c:\drivers and copy eg. scanner drivers there. Then when the scanner is connected, the driver is automatically installed.But for graphics this is of course "too late" in the setup process. It would be nice if I could use some sort of command-driven "force" install of the video drivers. Edited December 21, 2014 by Atari800XL Link to comment Share on other sites More sharing options...
JFX Posted December 21, 2014 Author Share Posted December 21, 2014 So you're saying my trouble began when I started using Win8PESE-64 instead of Win7PESE-32 before? That could indeed be the case, because in my memory it "used to work"!Properly, I usually stay with one architecture, so I overseen this would happen.Tomoorw I check what happens with Vista, than it's about time for new beta Link to comment Share on other sites More sharing options...
Atari800XL Posted December 21, 2014 Share Posted December 21, 2014 (edited) Did a test with Win7PESE now (32bit PE). Same result, it seems. So it must be something else (probably some stupid error on my side, it usually is) WinNTSetup.log:Source: 8.1 Ent x86 nl-NL 6.3.9600.17415Integrate drivers with DISM 6.4.9600.17031 (winblue_gdr.140221-1952)Wimgapi version: 6.2.9200.16384 (win8_rtm.120725-1247) Driver path: G:Dism return code: -1073741515 This is the normal install.wim from Windows 8.1, I grabbed it quickly because I needed a version without modifications/ updates, and without DISM-added drivers. EDIT: Added Wimgapi info. I don't know what this means exactly, but it looks like some mixed versions? Edited December 21, 2014 by Atari800XL Link to comment Share on other sites More sharing options...
JFX Posted December 22, 2014 Author Share Posted December 22, 2014 (edited) A versions mismatch should not make a problem here. Is this a mounted ISO or a stand alone WIM,With a normal ISO the \sources\api-ms-win-downlevel-*.dll files will be used for driver integration for Win8.1 out of win7.If not they have to be in the "api-set" folder inside winntsetups tools folder. Anyway try Beta2 It should fix at least the Vista and one Dism related problem. Edited December 23, 2014 by JFX Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now