Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

WinNTSetup v3.7.2 / 3.7.5 Beta 1


  • Please log in to reply
1074 replies to this topic

#1051
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

Yes, you will need to make a normal install before, with original setup.exe or you boot from the DVD / ISO.

This usually results in a system drive C:.

 

This installation sysprep, generalize and capture. The new WIM can be used with WinNTSetup and will always have C: as letter.

OK, will try that. Thank you very much for replying!

I must admit I can't "get my head around" how this is supposed to to work, but I will test it as soon as I get home. What I mean is this: I can't understand (without actually trying it) how a normal setup would use C:, while WinNTSetup would create D: as system drive. But of course, you will be right and I'm looking forward to "playing around" with that.

 

The update, sysprep/generalize and capture steps I always do anyway to create an updated wim, so that would stay the same.

 

And than again, I can't yet understand how a new install of the new wim would then ("suddenly") **DO** work correctly with WinNTSetup (and why this time the drive letter would be C:).

 

So I'll try the whole shabang, hope I won't have to bother you with my stupidity too much :-)




How to remove advertisement from MSFN

#1052
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

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!!!!

:thumbup

 



#1053
steve6375

steve6375

    Junior

  • Member
  • Pip
  • 61 posts
  • Joined 25-November 04
  • OS:Windows 7 x64
  • Country: Country Flag

FWIW

Partition 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 by steve6375, 19 December 2014 - 04:22 AM.

Visit www.rmprepusb.com for RMPrepUSB, the new Easy2Boot multiboot USB solution and 100+ tutorials on booting from USB drives.


#1054
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

 

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 by Atari800XL, 19 December 2014 - 04:47 AM.


#1055
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 496 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag

@Atari800XL

WinNTSetup, 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.

 

@Steve6375

Thanks for the dir command, this /aL switch it's quite useful.

But /NoRpFix is only for junctions that point outside the image.



#1056
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

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. :no:

 

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 :yes:

 

Thanks JFX, have a happy Chritmas... :thumbup



#1057
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

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!



#1058
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 496 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag

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 by JFX, Yesterday, 03:59 AM.


#1059
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

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 by Atari800XL, Yesterday, 09:02 AM.


#1060
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 496 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag

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 by JFX, Yesterday, 10:58 AM.


#1061
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

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 by Atari800XL, Yesterday, 09:28 AM.


#1062
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 496 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag

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 by JFX, Yesterday, 11:04 AM.


#1063
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

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 by Atari800XL, Yesterday, 12:06 PM.


#1064
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 496 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag

 

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 :) 



#1065
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

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.17415

Integrate 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 by Atari800XL, Yesterday, 12:26 PM.


#1066
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 496 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag

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 by JFX, Today, 05:40 AM.


#1067
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

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.

(1) It is a stand alone wim, I never use full iso's anymore

(2) So the sources\api... files are not available, this must be the problem. But please clarify: You say that those files are only necessary when applying 8.1 from a win7 PE? But I'm normally using Win8PESE to setup 8.1. Do I still need the files in that case?

(3) What are the best files to put in the "api-set" folder? The aps-ms-win*.dll files from a 8.1 iso, or 8? I guess I only need the 64-bit files for Win8PESE-64? (Sorry, I see the separate x64 and x86 folders now).

(4) Thanks for beta2 - which Vista problem did you fix exactly?

 

Thanks!


Edited by Atari800XL, Today, 06:15 AM.


#1068
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 496 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag
Yes, on Windows 7 Host you'll need the aps-ms-win*.dll next to the wim or in the api-set folder.
This is necessary to get the dism.exe from win8.1 or later running.
 
If you running a Win8.1 system, they are not needed.
 
The Vista driver integration should now work. There was a problem with pkgmgr command line.
Also it behaves different than dism, if one specific a drive letter instead a folder path for drivers.


#1069
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

If you running a Win8.1 system, they are not needed.

 

 

But I'm running Win8PESE-64, what happens then (it's based on "old" Windows 8). Is that another complicating factor (sorry!).

 

Like Mo said in The Simpsons: "I'm a stupid moron with an ugly face and and a big butt, etc."

 

I added the api*.* files from latest 8.1 iso to my WinNTSetup tools folders, and used the latest beta2.

I'm doing a test right now (boot with Win8PESE-64, install from clean 8.1-32 wim, to make sure there are no extra drivers in the wim already).

At the "Integrate drivers" stage now, "Dism.exe - Application error - exception - 0xc06d007e at 0x77794b32).

Sorry JFX, if you get fed up with my stupidity, please say so. I thought I was on the right track.

 

There is a Dism_stdout.log now, with version only: "6.3.9600.17031"

 

...I'll continue trying, next up is boot with Win7PESE-32 instead of Win8PESE-64 and install w8.1-32 and test video driver integration by WinNTSetup

 

--EDIT-- I'm getting another error here: "0xc06d007e".

 

...after that I'll try boot with Win7PESE-32, install Vista and try same driver.

 

I just hope you don't get fed-up with this, 'cause I feel we're almost there, and it would be so cool if it worked!!


Edited by Atari800XL, Today, 07:34 AM.


#1070
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 496 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag

Dism is one hell of a buggy software, all these error's would be crashing if the nice MS guy would do some error handling.

Sadly I can't reproduce it, best would if you sent me a sysinternals process monitor log file.



#1071
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

Vista driver integration went without error (which made me very happy), but on reboot the driver was not available.

I think we covered a lot of ground today, maybe we should let it rest a bit, new ideas might come up. I have a set of old laptops on a side table here to do a lot of tests, so I'll try this and that...

Thanks a lot JFX!

 

Edit1: Tried Process Monitor, as per your suggestion (win8pese-64).

Looks like it can't find api-ms-win-core-libraryloader-l1-2-0.dll

It's not in the 8.1 iso \sources folder, so now I wonder where I should get it from (and if there's other stuff needed after this). Will check a 8.1 system...

(at least I can see from the Process Monitor log that it searches in the WinNTSetup tools folder, so that's good!)


Edited by Atari800XL, Today, 09:47 AM.


#1072
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 496 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag
Oh, so let me guess you try installing one of the updated Win8.1 update 1, 2 or 3?
And inside that new image there is no api-ms-win-core-libraryloader-l1-2-0.dll inside \Windows\System32\downlevel?
But for sure there is one in \Windows\System32  :ph34r:


#1073
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

Erm, we were first looking for the files in the iso's sources folder. There's only the api-mswin-downlevel stuff there (no api-ms-win-core).

 

Right now, I'm locating 262 more of these api-ms files in the wim's system32 folder. So I guess I should just try throwing these in the WinNTSetup tools folder as well? OK, I'll try...

 

So once again: At first, you only told me to look in the iso, not in the wim! Hold on...



#1074
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 496 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag
Well your Dism crashes cause there is no downlevel version of api-ms-win-core-libraryloader-l1-2-0.dll.
The native (\Windows\System32\api-ms-win-core-libraryloader-l1-2-0.dll) one can't be used.
 
So with one of the big updates dism was linked against this new library,
however MS forgot to compile a downlevel version.
Well this is something that have to wait til next year
.

 

Properly the best solution will be to rely on ADK DISM. 


#1075
Atari800XL

Atari800XL

    Member

  • Member
  • PipPip
  • 217 posts
  • Joined 10-March 12
  • OS:none specified
  • Country: Country Flag

OK, we'll leave it at that for now. Pheww, this is going over my head, so thanks for your patience...






5 user(s) are reading this topic

0 members, 4 guests, 0 anonymous users


    Mediapartner (1)