Jump to content

Multiple configurations using RIS


Recommended Posts

The following is a description of how I got multiple configurations of Windows XP to work with using one copy of the installation files and choosing the configuration only once, at the Remote Installation Services (RIS) screen. If that bores you, don't bother reading on. If not read, digest and feel welcome to comment or ask questions.

I don't know if any of you use RIS to install your Windows. I do at my university and with a RIS server the following problem presented itself. How can I have multiple Windows XP unattended installs (meaning different programs to be installed, do domain join or not...) without having to use more than one copy of the windows installation files on the RIS server. Also what was important was to be able to choose the kind of installation I wanted directly at the RIS installation screen and not having to make a second choice later so that it would still be a completely unattended installation. I have tried a lot including trying to use the SETX.exe utility from microsoft to set a InstallType machine variable using the DetachedProgram setting under [GuiUnattended] in the unattended file.

The problem seems to be that windows does not recognize this machine variable until restarted after the graphical setup part. So finally I have done the following and it works!.

Using the the following:

[SetupParams]
UserExecute = "%SystemDrive%\Install\Scripts\CMDLines.cmd Home"

in the .sif file (the unattended information file, just like Unattended.txt) I call the CMDLines.cmd with an argument.

The CMDLines.cmd looks like this:

Call C:\Install\Scripts\UserAccounts.cmd %1
Call C:\Install\Scripts\Software.cmd
Call C:\Install\Scripts\RunOnceEx.cmd %1

So I can pass the argument (%1) on. For example: In the RunOnceEx.cmd after the common files which all clients will have to install I have the following:

If %1==Administration Goto Administration
If %1==Home Goto Home
If %1==External Goto External
If %1==Laptop Goto Laptop
If %1==External Goto External

Goto ErrorInstallationType

I could theoretically use Goto %1 but if there is a problem and the label specified does not exist the batch file just terminates so like this I can be sent to ErrorInstallationType and recieve an error message.

I don't know if it is of any interest to anybody here, but I was just so thrilled that it worked after all the failures that I wanted to tell the whole world ;)

Kind regards,

Martin

Link to comment
Share on other sites


Nice suggestion, but there are easier ways. I myself worked with RIS for about 2 years. I contacted Microsoft about the possibility of passing variables from the OSChooser files to my SIF file and was told by them that RIS did not offer the ability to do that. I couldn't accept this, so I did some research. After about a year of playing around I found out it IS completely possible. I am sure you can probably search the forums here and you will find a post or two from me (that's sarcasm, because I used to spend almost every waking hour of every day here). I'll have to go back through some of my old files but if you are interested I can dig up some of my old OSC files. The way I had it working you were able to boot to the OSChooser, select the different software packages you wanted (or a preset build that I created) and then walk away. It would pass the variables to the SIF file...

-this actually needs a little more explanation... the way the sif file works, when you run through the OSChooser screens at the end it passes the variables to the SIF file, replacing them with their values and uploads it to a place on the server for later retreval, then reboots

Through a batch file I set up I was able to use these values. Microsoft told me it couldn't be done... what do they know... I did it. :) I'll see if I can find some of my old files (it's been about 9 months since I moved on from that job) and if you are interested PM me

Link to comment
Share on other sites

@minalgar:

Interesting! I came to the same solution just this week, i.e. to use the "UserExecute" to call upon a batchfile passing on a variable from the .SIF file.

This works well, but I am intrigued on how un4given1 has managed his way of doing this, please post more info! :)

Also, if you search for my previous posts you will find a couple concerning customization of RIS, i.e. how to set mulitple IP addresses, etc :lol:

Link to comment
Share on other sites

Thanks a lot un4given. I am very interested in seeing your sollution. And if you find your old .OSC files I am more than interesed in seeing them. Thanks in advace.

It would be very nice to only have to use 1 .sif file in order not having to change a multiple of those files when adding drivers or making general configuration changes to your installations.

Krokodox, very peculiar that we chose the same method :) .

Regards,

Martin

Link to comment
Share on other sites

*L* Microsoft does not leave us bright people with other choice than to come up with brilliant solutions to make their almost-100%-capable software work the way *we* want them to... ;)

I have actually figured out / incorporated a full-featured customized RIS based server setup. It asks me for IP address(es), lets me choose between ProductIDs and / or enter one manually, and finally to select whether to install and configure IIS with PHP and / or MySQL Server for specific needs.

I had to create / modify .OSC files, tweak winnt.sif, and make up a huge custom .CMD fiel that gets called several times during the setup with different parameters. This allows me to fine-tune the setup from one source.

It all gets initiated in the .SIF file from :

.
.
.
[SetupParams]
UserExecute = "%SystemDrive%\disks\sw\config.cmd runonceex %PWD% %DBROLE% %IISROLE%"
.
.
.

My CONFIG.CMD contains several labels, where the first one (called runonceex) import all registry settings needed for the sub-sequent calls to itself:

@ECHO OFF


IF NOT "%1" == "" GOTO %1
GOTO :DONE


:RUNONCEEX
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx


REG ADD %KEY% /v TITLE /d "Installing Applications" /f

REG ADD %KEY%\001 /ve /d "Configuring Services..." /f
REG ADD %KEY%\001 /v 1 /d "%SystemDrive%\disks\sw\config.cmd services %3" /f          

REG ADD %KEY%\003 /ve /d "Server Resource Kit..." /f
REG ADD %KEY%\003 /v 1 /d "%SystemDrive%\disks\sw\config.cmd rktools" /f
   
REG ADD %KEY%\004 /ve /d "Server Support Tools..." /f
REG ADD %KEY%\004 /v 1 /d "%SystemDrive%\disks\sw\config.cmd suptools" /f

REG ADD %KEY%\010 /ve /d "MySQL Server..." /f
REG ADD %KEY%\010 /v 1 /d "%SystemDrive%\disks\sw\config.cmd mysql %3" /f
         
REG ADD %KEY%\012 /ve /d "Configuring IIS..." /f
REG ADD %KEY%\012 /v 1 /d "%SystemDrive%\disks\sw\config.cmd iis %4" /f
.
.
.
:RKTOOLS
MSIEXEC /qb /i %SystemDrive%\disks\sw\microsoft\w2k3srvresourcekit\rktools.msi
GOTO :DONE


:SUPTOOLS
MSIEXEC /qb /i %SystemDrive%\disks\sw\microsoft\w2k3srvtools\suptools.msi
GOTO :DONE
.
.
.
:DONE
ECHO %1 %2 %3 >> config.log

EXIT

This works well for me... :yes:

Link to comment
Share on other sites

I worked in a corporate environment and sometimes walking from one side of the building to the other to get an XP disk was very frustrating. When I would need to run the repair console it was very frustrating, so I even had made it possible to boot to the recovery console by booting to the RIS server. RIS is great. You can do just about anything you would want to. I'm still looking for those files (I have moved 3 times in the last year) and I will post them later when I find them. As for the rest of today, think I am heading to the beach. Later!

Link to comment
Share on other sites

I've been using RIS for a few years myself. In fact RIS is what got me involved in the whole unattended thing. I use a single sif file and then have all of the applications deployed through group policy. I prestage the workstations into the appropriate OU so they get the specific set of apps they need. And for some of the trickier stuff I let machine startup scripts (per OU) take care of.

What I am currently struggling with now is getting TabletPCs to use the same RIS image (but a different sif file). It seems that the key for TabletPCs needs to correspond with a particular PID in the setupp.ini file (in i386).

Link to comment
Share on other sites

Actually, decided it's just a LITTLE too cold to go to the beach (70F) so I am going to go tomorrow since it's supposed to be a little warmer.

RogueSpear: the only problem I had with using group policy was that I built PCs that were shipped to remote locations. Some of them only having 256K fractional T1s, you couldn't push Microsoft Office over that. If everything is local or you have a nice pipe you can do that.

Link to comment
Share on other sites

Hi,

I'm quite a newbie in the field of unattended installation. I have problem that is very similar and only slightly different to what is discussed above. Maybe it is trivial and already discussed somewhere else in thhis forum but I didn't find it.

Anyway, here is my question: Is there a way to choose from multiple winnt.sif files burnt on an unnattended installation CD upon the boot prompt?

I work in a training center and we have to prepare the calssrooms for each weeks trainings with the appropriate os environments. E.g. we need:

1. A XP CD with SP1a slipstreamed, some drivers and applications (Acrobat, Winzip, ...) on a CD (which is not a problem).

2. We need two different Admin passwords and 5 different IP adress configurations.

Point 1. is completeley the same for all installations. However, with the knowledge we have so far, we would have to burn 10*2 different XP-CDs (one for each possible configuration).

Maybe one of you knows a better solution for this.

Thanks for your support!

Markus

Link to comment
Share on other sites

Recently we have setup a RIS (Remote Installation Server) on Windows 2003 Server. It appears to work most of the time however sometimes we get an Access Denied message.(0000005 or something like that) when trying to do a custom setup. The only fix we can figure out is to reset the computer account in AD. What I don't understand is first why does this occur? If we try to do an Automatic Setup the computer account is not found in Active Directory, so why then is it found when the account is manually added by using the Custom setup?

I know that we use a schema change to allow OU's to be created under the Computer and Users folders. But when I move the computer account to the root of the computers folders, it still does not see the account.

Is there something we are doing wrong?

Reply With Quote

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