Jump to content

Using the "DetachedProgam" section in Winnt.sif


Recommended Posts

Posted

All, here's my problem. I have several compressed programs located in their respectivly named folders and housed in "$1" directory on my WinXP install CD.

example...

$1\Install\Winzip\winzip.7z

During text-mode the "Install" folder and folders and files within are copied to %systemroot%. Of course you all already knew that.

I placed the 7za.exe command line utility in the $$\system32\folder so that the utility can be used anywhere in Windows when during the text-mode setup the contents of the "$$" folder are copied to the windows\system32 directory.

I created a command file called decomp.cmd and placed it in the "$1" folder alongside the "Install" folder.

example of contents of decomp.cmd...

7za x install\winzip\*.7z -o%systemdrive%\install\winzip

(all i'm doing is unpacking the contents of the winzip folder to its current location)

Soon after First Logon I use Windows Post Installer to install the program along with others. Basically, all of what i am doing is packing as many programs as i possibly can onto the CD using the 7 Zip compression utility.

I'm using the "DetachedProgram" section in Winnt.sif to call the decomp.cmd to execute the lines of command within the file to unpack the archives so that WPI can install them at "First Logon".

My problem. The archives are not being unpacked at the T-39 stage of the "GUI- ModeSetup". I've doubled and triple checked the syntax, usage, directory structure and placement of files in both the command file and DetachedPrograms section of the Winnt.sif file. The dos error message i get basically states that 7za is not recognized as an internal or external command, operable program or batch file. However, after I identify that as the problem if i run the command file manually the archives unpack just fine. I'm wondering if i am using the "DetachedPrograms" section incorrectly. Someone please guide me. Thanks.

Also, If there is a better way for me to do what i am doing let me know that too. I'm very open to suggestions.


Posted

Hello MykeV!

I'm not absolutely sure, but I think that i have read somewhere that at T-39 stage not all environment variables are set - especially PATH seems not contain the expected values ...

Have you tried to call the 7za.exe utility with a full qualified path? Similar to this:

C:\Windows\System32\7za x install\winzip\*.7z -o%systemdrive%\install\winzip

Hope this helps you a little ...

Reinhard

PS: you can try to place a small debug message like

echo PATH is set to ~%PATH$~
echo SystemRoot is set to ~%SystemRoot%~
pause

into your decomp.cmd to check the environment. If SystemRoot has a meaningful value at this time, you could call 7za.exe in this way:

%SystemRoot%\7za.exe x install\winzip\*.7z -o%systemdrive%\install\winzip

Posted

Two things

As you are using a command line you should have something like this in your sif file

    DetachedProgram = CMD.EXE
Arguments = "/C 7za x "

And why goto so much trouble, I know an sfx can be slightly larger, but why not sfx them and run the exes to extract.

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