Jump to content

[Closed] Configure winnt.sif to perform several tasks


Recommended Posts

Hi all! Thank's for your answers :)

Delprat, thanks for the explanation, i'll read more about it as soon as i can.

kof94, the point of using a single source is a space-saving point. I supose that using 2 equal sources increases space, although not duplicating the size of the ISO image, it'll greatlly increase space anyway. I want to integrate MANY OS's, thus my concern. But if i'm not correct and using 2 equal sources doesn't greatlly increase the ISO space, then i believe you just saved me from ALOT of work :D

So you can have a ideia of what i'm planning to integrate:

Windows 95 (Costumized)

Windows 98 (Costumized)

Windows Starter Edition

Windows XP Professional SP1 with no hotfixes (Original and Costumized, thus 2 boot folders)

Windows XP Professional SP2 with all hotfixes (Original and Costumized, thus 2 boot folders)

Windows XP Media Center 2005 (Original and Costumized, thus 2 boot folders)

Windows Server 2003 Standard Edition (Original and Workstation version, possibly 2 boot folders)

Windows Server 2003 Web Edition (Original and Workstation version, possibly 2 boot folders)

Windows Server 2003 Enterprise Edition (Original and Workstation version, possibly 2 boot folders)

Windows Server 2003 Data Center Edition (Original and Workstation version, possibly 2 boot folders)

Linux Kurumin (or Kubuntu, haven't decided yet) - If i don't have enough space it will be left out

Tools (Don't know much about environment yet, like PE or ERC):

Win PE ou Bart's PE

ERC Commander 2005 (Administrator's Pak)

Defragmentation Tool - I have to choose one yet

SpinRite

Tools for Server 2003:

Exchange 2003 Enterprise

Exchange 2003 Standard

ISA Server 2004

SMS 2003

Live Communication Server 2005

MBSA

WSUS

Virtual Server 2005

SP1 Windows 2003

SP1 Exchange 2003

SQL Server

All systems with software and BTS's drivers included. That's why i need a easy-to-update method of integrating both software and drivers.

So as you can see, this is VERY BIG. That's why i'm so concerned about space :)

Edited by andregcasal
Link to comment
Share on other sites


Oh kof94, almost forgot:

Edit: I've just noticed the guide page is down I'll try to remember to add the PDF version to this post for ya. At the mo MSFN seem to think I've exceeded my limit for attachments. Don't think so since I don't have any on any other posts

The problem is the link, try this one: http://flyakite.msfn.org/

Edited by andregcasal
Link to comment
Share on other sites

Proverb: You learn something everyday
Yes And i should start with english :

VERY BAD : proverb: "not possable" is not french (well, it's also not english, but that's not the question)

BETTER : proverb : "not possable" is not french (nor english, but that's not the question)

:rolleyes:

I still can't see the point of having a single source when you've got utils like CDImage. You might aswell have two boot options,it's not that difficult to update two! Or am I missing something?

i think yes : my method allows "two boot options" since it's based on two diffent winnt.sif !

There's two methods : winnt.sif on a floppy (not the case here :o ) ; or different boot folders.

But it's no longer required (as in your method) to split the setup folder : seeing andregcasal ENORMOUS AIO DVD project, i'm pretty sure that minimizing the number of setup folders will clarify & simplify things.

André, you can include the TAGs via DetachedProgram, you can even use the same RunOnce.cmd for every NT-based OS. (that's Bezalel idea, i just picked it up on the fly)

And to make things more flexible, the RunOnce.cmd slipstreamed in i386 can be a single-or-two-lines call to another CMD on the DVD that would take care of the real installation, depending on the tag set by winnt.sif (and, in this case, also the cleanup ; it make "RANTAG" and RunOnceBoth.cmd useless : if you said before that you're making a so huge project, i wouldn't have proposed this solution).

kof94 : Does your solution allows the same depth of customization with the same ease of use ? (in other words, i think there's no point in splitting the source when there's no need to and when it adds no feature)

One line to change in each winnt.sif that is specific to the OS ; and one file to slipstream in the setup folder which is the same for all ! (and one ring to rule them all, thanks Bezalel :lol: )

(and the slipstream can be done via dosnet & txtsetup for a "1st-gui-boot-install-like-runonceex" ; or in svcpack for a T-13 install, or even both ; only drawback is : no application add-ons)

Well, 3 posts, and 3 ways to go. Did someone understood what i say ? (or may i write a tutorial ?)

In fact all of this only 'coz winnt.sif is unable to call a file on the source disc...

PS: andré : kof94 spoken about CDimage, which saves space for you

Link to comment
Share on other sites

:w00t: Wow nice post!

But it's no longer required (as in your method) to split the setup folder: seeing andregcasal ENORMOUS AIO DVD project, i'm pretty sure that minimizing the number of setup folders will clarify & simplify things.
Exacly! It would clarify & simplify things AND it would reduce ISO size :thumbup

So let me see if i get things strait!

1 - First of all dosnet.sif & txtsetup.sif copy the RunOnce.cmd and Cleanup.cmd files to the HD

RunOnce.cmd and Cleanup.cmd MUST be on the HD because winnt.sif can't call files from the source disc

2 - Then each boot folder have its own winnt.sif. One that calls RunOnce.cmd thru DetachedProgram and the other that doesn't

3 - Then (if winnt.sif calls RunOnce.cmd) RunOnce.cmd calls the Install.cmd (which is in the DVD and is the same for every OS - One ring to rule them all :D ), installing all the software at the T-39 stage of the setup.

4 - Finally at Windows Logon, winnt.sif calls Cleanup.cmd thru [GuiRunOnce], that will take care of the clean-up, independently of the software beeing installed or not.

What you think mate?

André Casal

Edited by andregcasal
Link to comment
Share on other sites

That's not what i were thinking about.

It may work for some app, but not all, 'coz it's @ T-39... not a good time to install apps !

First of all, the blue line is "false" : winnt.sif can obviously run something from the CD/DVD BUT you must know the drive letter and "harcode" it in the sif file. Very bad practice to avoid at all costs...

You want to make an all-in-one dvd : this is done by splitting install source of each OS into separated "boot folder" and "setup folder"

You want to install a "personalized software selection" (or "tweaks" such as 2003 to workstation), or not, for each OS : this is done by splitting "boot folder" for each OS and editing detachedprogram= line in winnt.sif :

DetachedProgram=C:\WINDOWS\System32\cmd.exe /C @ECHO something>C:\TAGNAME.TAG

You'll need to change the red part, and make it unique in each boot folder.

examples :

  • W51SP1.TAG = XP SP1
  • W51SP2S.TAG = XP SP2 + software
  • W52DCW.TAG = 2003 data center to workstation
  • W52DCWS.TAG = 2003 data center to workstation + software

Do not forget the .TAG.

Let's name the root of your AIO-DVD "X:\", and suppose that your programs (or tweaks, or whatever) will be in "X:\Programs\" (that's the folder name i used many times : it's 8 letters and it works very well both under NT-based and 9x-based).

In this foler, you'll create an "Install.cmd" file that will install applications by testing the presence of a tag file. Example :

@echo off

REM next line makes sure call&goto :eof will work

setlocal enableextensions

REM checks the tags and go to corresponding section

if exist C:\W51SP2S.TAG call :software

if exist C:\W52DCW.TAG call :2003_to_workstation

REM next tag calls two sections

if exist C:\W52DCWS.TAG (call :2003_to_workstation&call :software)

REM the two other tags does nothing for now, so don't check them

goto :end

:software

REM here paste lines for software install. example :

REM "%~dp0" refers to the full path of the .cmd it's in so you don't have to worry about CD drive letter

start /wait %~dp0\winrar\setup.exe /s

REM ...

REM end of this section :

goto :eof

:2003_to_workstation

REM example :

REG IMPORT %~dp0\2003_wks\Tweaks.reg

REM ...

REM end of this section :

goto :eof

:end

REM delete every tag file :

del /f /q C:\*.TAG

exit

Now, create RunOnce.cmd :

@echo off

REM loop each drive letter :

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 (

REM check if we are on the DVD :

if exist %%i:\Programs\Install.cmd (

REM Yes, so call the install script :

call %%i:\Programs\Install.cmd

REM break the loop and skip remaining drives :

goto :end

))

:end

exit

compress it :

makecab /D CompressionMemory=21 /D CompressionType=LZX RunOnce.cmd

you'll get a RunOnce.cm_ file : copy it in each setup folder

then edit setup files as i said in my first post :

DosNet.inf [Files] : d1,RunOnce.cmd

TxtSetup.sif [sourceDisksFiles] : RunOnce.cmd = 1,,,,,,,1,0,0

This way, RunOnce.cm_ will be unpacked to C:\Windows\RunOnce.cmd in each install, and it will launch Install.cmd from the DVD.

The last thing to do is to call that RunOnce.cmd. So edit winnt.sif in each boot folder, and add two lines in [GuiRunOnce] (Install.cmd is CALL'ed from RunOnce.cmd, it's unsafe to delete RunOnce.cmd from Install.cmd, so do it here) :

C:\WINDOWS\RunOnce.cmd

C:\WINDOWS\System32\cmd.exe /C del /f /q C:\WINDOWS\RunOnce.cmd

That's all, your programs will install at first gui boot, depending on the tag file.

Modifications are possible to install @ T-13 : right after creating RunOnce.cmd, copy it uncompressed to setup folders\SVCPACK ; edit every svcpack.inf (cabbed in svcpack.in_) to launch it (add a line in [setupHotfixesToRun]) ; and do not add the first line in [GuiRunOnce], only the second.

++

Edited by Delprat
Link to comment
Share on other sites

Hi there Delprat!

First of all I think we should replace all your references to C:\ with %SystemDrive%\ and C:\Windows\ with %SystemRoot% because i don't see any situation where that can't be applied.

Appart of that, when i write /C @ECHO blablabla>C:\TAGNAME.TAG in my command prompt it does actually create a TAGNAME.TAG inside my C:\ Drive, but cmd "says" that /c isn't a recognized command. Could it be because of the language of my OS?

I need the software to be installed @ T-13 stage because many of that software replaces files that are allready loaded when the [GUIRunOnce] runs from winnt.sif (like XPize, themes, cursors, etc...).

Well i think you have a great method here and teached me alot! Thanks for everything. Now it's time for me to put these knowledge in action :D (it'll just take a sec. until i need some more help :whistle::P )

Link to comment
Share on other sites

Thanks kof94, no problem :)

I'm on test phase now, all seems to go well until now :D

I was hoping to write a Guide on this, something like "How to unattendedly install software and BTS's DPs, using just one source for each OS in a way that you just have to copy all of your single OS CDs to the root of your DVD to make a multiboot DVD" or maybe "The easiest way to update and maintain your multi boot DVD" Think it's a nice name for the tutorial? lol

This tutorial would explain how to make single OS CDs, with 4 boot options (Regular, Regular with Software, Unattended, Unattended with Software) in a way that to create a multiboot DVD we just had to copy each CD to the root folder of the DVD, change one or two files and puff, all done! :D

I guess you get the idea, would you think this would be a nice guide to have around?

Edited by andregcasal
Link to comment
Share on other sites

First of all I think we should replace all your references to C:\ with %SystemDrive%\ and C:\Windows\ with %SystemRoot% because i don't see any situation where that can't be applied.
I did never know if it works in winnt.sif, if you're sure that's a better way.

Appart of that, when i write /C @ECHO blablabla>C:\TAGNAME.TAG in my command prompt it does actually create a TAGNAME.TAG inside my C:\ Drive, but cmd "says" that /c isn't a recognized command. Could it be because of the language of my OS?
What ? What ? WHAAAAT ? That's impossible ! It must work ! It worked on my old 386 SX with MS-DOS 5.00 about 15 years ago :yes:

:whistle: /me is hopefully living in a piece of countryside lost in the middle of nowhere and there's no shop selling edible french flag miles and miles around...

Why not trying the full line i gave you, with "cmd" in front :

C:\WINDOWS\System32\cmd.exe /C @ECHO something>C:\TAGNAME.TAG

...and you're trying to make a full-featured all-in-one dvd... OMG! There's lot of work for you if you're making this sort of omission

:(

Well i think you have a great method here and teached me alot! Thanks for everything. Now it's time for me to put these knowledge in action (it'll just take a sec. until i need some more help)
You're welcome !

Hummm... Take care, it's not tested :lol:

...

...

...

But that's a good idea to make a new guide :whistle:

(title suggestion : the best way to lose time)

++

Edited by Delprat
Link to comment
Share on other sites

Lol, "The best way to lose time" seems pretty neat :thumbup

The full C:\WINDOWS\System32\cmd.exe /C @ECHO something>C:\TAGNAME.TAG worked fine!

Well... I'm still on tests, at least the first one worked fine, the "Windows XP Pro SP1 Regular with no Software", now i have to test the other 3 ;)

Windows XP Pro SP1 Regular with Software

Windows XP Pro SP1 Unattended with no Software

Windows XP Pro SP1 Unattended with Software

Cya

André Casal

Edited by andregcasal
Link to comment
Share on other sites

Hi people!

The DetachedProgram line did work on my command line, but now in winnt.sif it doesn't seem to work.

When installing it gives an error, something like "Line 25 of winnt.sif is invalid, installation can not continue. Press any key to reboot..."

Line 25 is the DetachedProgram line:

[GuiUnattended]

DetachedProgram=%SystemRoot%\System32\cmd.exe /C @ECHO TAGFILE>%SystemDrive%\SOFTWARE.TAG

Could it be because it needs ""? Yeph, i forgot the "", just remembered that after making this post... :P

André Casal

Edited by andregcasal
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...