Jump to content

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

Link to comment
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!

Link to comment
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:

Link to comment
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?

Link to comment
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

Link to comment
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!

Link to comment
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.

Link to comment
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.

Link to comment
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 ...

Link to comment
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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...