Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

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. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Sign in to follow this  
GreenMachine

Detachedprogram & Oempreinstall=no

Recommended Posts

I know that many people install their Driver Packs by extracting them with a DetachedProgram entry. All examples that I have seen require using OEMPreinstall=YES. Has anyone managed to do this with OEMPreinstall=NO?

I also know that there is a modified setup.exe, which runs a preinstall command script. That is not what I am looking for, either ...

I am certainly not trying to belittle anyone's solution, but I am looking for a way to do this without modifying any Microsoft files, other than possibly DOSNET.INF or TXTSETUP.SIF. A good solution would be similar to:

DetachedProgram=%CDROM%\MySetup.exe

However, there is no CDROM variable pointing to the CDROM, and this seems to be the biggest obstacle.

Any success stories out there? Any suggestions? And please ... I know what I want, so do not suggest that I use OEMPreinstall=YES, or that I hex edit, or replace, some Microsoft files.

Thanks

Share this post


Link to post
Share on other sites

edit TXTSETUP.SIF to add an entry to a CMD file for DetachedProgram to execute. I'll be back later with more info, gotta go now

Share this post


Link to post
Share on other sites

Isn't that just like Alanoll: comes back with a little tease, and then runs off!

Yea, I think something like that may be the best solution: have TXTSETUP.SIF copy a file over to the HDD, and call it from DetachedProgram.

OK, OK, I'll wait until the other shoe drops!

And another thing ... Thanks!

Share this post


Link to post
Share on other sites

Here go:

I use this in my WINNT.SIF file

DetachedProgram="%windir%\system32\themes.exe"

In TXTSETUP.SIF. under the [FILES] section I add

themes.exe = 1,,,,,,,2,0,0

I usually just search for bootvid.dll, then enter in the line right under or above it. Then I don't ahve to worry about EOF characters and such.

The 2, is the destination directory. Search for [WinntDirectories] inside TXTSETUP.SIF to get all of them. If you don't like any of those...add a new one

80 = Resources\LogonUI
81 = web\wallpaper

I add those to place my other files. The only limitation I've found is that the directory has to be within the %windir% directory.

That should be enough for you to get started :) Wait...

FOR %%i IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\CD.txt SET CDROM=%%i:

start /wait %CDROM%\MySetup.exe

Should be the CMD file, with the CMD file name replacing theme.exe and fixing the path appropriately :)

That should be enough now :whistle:

Share this post


Link to post
Share on other sites

im not sure if this will work, but what i did :

OEMPreinstall=No

i have my files in $OEM$/$1/$$.exe

DetachedProgram="%systemdrive%\$$.exe"

will this not work? if it doesn't.....what do i need to do to get it to work?

Share this post


Link to post
Share on other sites
im not sure if this will work, but what i did :

OEMPreinstall=No

i have my files in $OEM$/$1/$$.exe

DetachedProgram="%systemdrive%\$$.exe"

will this not work?  if it doesn't.....what do i need to do to get it to work?

Won't work. Read what I said.

Share this post


Link to post
Share on other sites

sorry but i dont understand what you wrote.

where should i put my $$.exe? that is the only file i need setup to run. do i leave it in $OEM$/$1 folder?

im really not sure what i need to add to txtsetup.sif

also will oempnpdriverspath still work with oempreinsall=no?

Share this post


Link to post
Share on other sites
sorry but i dont understand what you wrote.

where should i put my $$.exe?  that is the only file i need setup to run.  do i leave it in $OEM$/$1 folder? 

im really not sure what i need to add to txtsetup.sif

also will oempnpdriverspath still work with oempreinsall=no?

Add the file to I386.

Then add to Txtsetup.sif

$$.exe = 1,,,,,,,2,0,0

The in WINNT.SIF

DetachedProgram="%windir%\system32\$$.exe"

And yes, OEMPnPDriversPath will still work with OEMPreInstall=No

Share this post


Link to post
Share on other sites

i couldnt find [Files] but instead i found [sourceDisksFiles] and it had bootvid.dll in it.

in your txtsetup.sif is bootvid.dll the first think listed in sourcedisksfiles? i had a bunch of other stuff taht i determined to be installed from nlite (when i tried using it a long time ago. i spend a long time deleting those files from my I386, but i just want to make sure that bootvid.dll was indeed the first file listed there. thanks!

Share this post


Link to post
Share on other sites
i couldnt find [Files] but instead i found [sourceDisksFiles] and it had bootvid.dll in it. 

in your txtsetup.sif is bootvid.dll the first think listed in sourcedisksfiles?  i had a bunch of other stuff taht i determined to be installed from nlite (when i tried using it a long time ago.  i spend a long time deleting those files from my I386, but i just want to make sure that bootvid.dll was indeed the first file listed there.  thanks!

Yeah it's the first. nLite file would probally be first if you used nLite.

Share this post


Link to post
Share on other sites

Well, I got that part to work, however it seems that the DevicePath in the registry, which should be %systemroot%\inf;, followed by whatever it picks up from OEMPnPDriversPath only contains %systemroot%\inf, leading me to suspect that OEMPnPDriversPath does not work once OEMPreinstall is set to no (though I was/am under the impression that it should). Injecting the values into the registry would be easy enough, if, in fact, the OEMPnPDriversPath thingy won't work in this case. From what I see, the DevicePath setting is needed so that setup parses the directories, and creates the prefetch information stored in INFCACHE.1. Without that file, I think that the INF files inside will not be used when searching for drivers. Of course, all this is speculation, as I have only tried on a virtual machine.

Just a status update. If you have anything to add, Alanoll, I'm all ears. Otherwise, I'll keep you posted.

Share this post


Link to post
Share on other sites

I could do that ... but you know me! I use CABARC and IEXPRESS to create the SFX package, all from a Command Script that automatically scans a given directory. Easy enough to have it crate the DriversPath, and inject it with a REG command.

As for the INFCACHE.1 file, it seems that is created when you start the Add Hardware Wizard for all the directories in the DevicePath registry setting.

So, I'm close ...

Thanks again, Alanoll.

To be continued ...

Share this post


Link to post
Share on other sites

Well, changing to OEMPreinstall=NO definitly results in OEMPnPDriverPath NOT being set in DriversPath in the registry. Next test will be to inject it at the same time as I copy over the files.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...