Jump to content

New Option for Installing Applications - W.A.I.T.


Recommended Posts

Okay - here is some information

%cdrom% is determined by looking at all CD Drives in the system. For each CD Drive is looks for ALLDVD.TXT in the root. If the file is found then that is what %cdrom% becomes.

My default %cdrom% is "J:\o:\root". I use this for testing as I don't want to burn a DVD/CD for each test.

Therefore, you are getting "j:\o\root" beacuse WAIT cannot find "AllDVD.TXT" in the root of any of your CD drives.

**** SOLUTION ***

The next version (0.09)- which will be posted today with have two new settings (amongst other things)

1) CDFILE - you set this to the file that WAIT should look for in the root of your CD drives. If found then %cdrom% will be set to that drive

2) CDDefault - you can set this to whatever path you like. If WAIT cannot find the CDFILE then %cdrom% will be set to CDDefault.

Hopefully this will solve the %cdrom% problem

Bryan

Link to comment
Share on other sites


about what i said before,  on how to have only 1 setup wizzard, 

for both tweaks and software,  in the same wizzard, run from cmdlines.txt

So if I understand you would like WAIT to run from cmdlines.txt - make all the settings to RunOnceEX and then exit?

Upon reboot RunOnceEx will install the apps. Is that correct?

If so then the following would also be true

1) Since WAIT uses RunOnceEx to create a RunOnceEx window for EACH catagory, there would only be one RunOnceEx window (since it's running during reboot and not by WAIT)

2) If this is the case then you would probably want the items in the RunOnceEx window to be the catagories and not each application. This is due to screen size limitation.

d: in the config file of this tool, in stead of using a command like,

UA-nero6.exe i run nero.reg to add the instal of nero to the runonce

part of the register...

Is this really what you want to do. I would think that you could enter the correct line to run in WAIT and then have WAIT make the updates to the registry. I already have the code to do that in place (it's used if you use the RunOnceEx option). Therefore there is no need to have a nero.reg file. WAIT would update the registry to run "UA-nero6.exe" on next reboot.

If this is all correct than I am sure I can add this will only a little effort. Let me know and I will look into it.

Bryan

Edited by bryanh
Link to comment
Share on other sites

Hi bryanh

Well I got it to work, I had alldvd.txt wrong place, changed and worked

very much better.......I would say my fault, sorry......

While I was at it I tested your built in installer and some problems,

it would not start a .js file and I have many programs that extract then

install, well, they just run all over each other or don't run at all......But

RunOnceEx worked fine so I will stick to it. Liked the way each catagory installed

on runonceex............very cool thanks............

BD

Link to comment
Share on other sites

whoa, i didnt notice this until just now - can you make this "install each category seperately" an option? I like to have ONE runonceex window with a list of ALL the programs getting installed (they are in the order they appear in WAIT, by category, but it's just one list.)

is this possible?

[edit]

Also, even with v9 I cannot get the %cdrom% variable to work. I set "CDFile=WIN51" in my wait.ini, but it doesn't work. could the problem have something to do with the fact that i am installing from a second HARDDIVE and not a CDROM drive?

Possible suggestion:

- Have wait scan it's own directory for the CDFile (in my case "WIN51"), and if it is not found, have it go UP one directory and scan there. If not found, go UP another, etc. until found. Once found, that path becomes %cdrom%.

- If not found anywhere on the current directory tree, then scan other drives as well for the CDfile.

- If not found on ANY drives, then use CDDEFAULT

ps - awesome job with the "ColumnWidth=" variable, and the %LB% option!!!

Edited by a06lp
Link to comment
Share on other sites

whoa, i didnt gte this far yet - can you make this "install each category seperately" an option?  I like to have ONE runonceex window with a list of ALL the programs getting installed (they are in the order they appear in WAIT, by category, but it's just one list.)

is this possible?

I can add this - but you will run out of screen space very quickly.

Link to comment
Share on other sites

Also, even with v9 I cannot get the %cdrom% variable to work.  I set "CDFile=WIN51" in my wait.ini, but it doesn't work.  could the problem have something to do with the fact that i am installing from a second HARDDIVE and not a CDROM drive?

Possible suggestion:

I don't know what the problem is. I have no problem with this at all. WAIT is looking for your CDFile in the root of each of the drives that windows says is a CD Rom drive. Therefore if you are using a harddrive this will never work. That is what the CDDefault is for. I also test with a harddrive. I have a CDDefault of "j:\o\root". This way %cdrom%\apps\installscripts becomes "J:\o:\root\apps\installscripts" during testing but it's "m:\apps\installscripts" during an install on my current machine.

Make sense?

Link to comment
Share on other sites

whoa, i didnt gte this far yet - can you make this "install each category seperately" an option?  I like to have ONE runonceex window with a list of ALL the programs getting installed (they are in the order they appear in WAIT, by category, but it's just one list.)

is this possible?

I can add this - but you will run out of screen space very quickly.

I know, but with a 1024x768 resolution i have had no problems installin 30+ programs all clearly visible in one window. if it gets too large, i can always switch to the installbycategory option. i just like the one window idea if possible. :)

Also, even with v9 I cannot get the %cdrom% variable to work.  I set "CDFile=WIN51" in my wait.ini, but it doesn't work.  could the problem have something to do with the fact that i am installing from a second HARDDIVE and not a CDROM drive?

Possible suggestion:

I don't know what the problem is. I have no problem with this at all. WAIT is looking for your CDFile in the root of each of the drives that windows says is a CD Rom drive. Therefore if you are using a harddrive this will never work. That is what the CDDefault is for. I also test with a harddrive. I have a CDDefault of "j:\o\root". This way %cdrom%\apps\installscripts becomes "J:\o:\root\apps\installscripts" during testing but it's "m:\apps\installscripts" during an install on my current machine.

Ok, I understand what you are saying. I guess i am just used to the other way. I'll give this way a go.

[edit]

also, i just want to mention that i think you're doing a great job here. these are all minor details now, this program rocks and i cant wait to test it out on my next real-world install.

Link to comment
Share on other sites

So if I understand you would like WAIT to run from cmdlines.txt - make all the settings to RunOnceEX and then exit?

YUP

1) Since WAIT uses RunOnceEx to create a RunOnceEx window for EACH catagory, there would only be one RunOnceEx window (since it's running during reboot and not by WAIT)

2) If this is the case then you would probably want the items in the RunOnceEx window to be the catagories and not each application. This is due to screen size limitation.

you are right again bro,

I compleately overlooked the screen size limitations,

So yeah - naming the install process by cath woold be a great way to

solve this, ( we just let runonceexec - think each job has muliple commandos, (installers) te run, and YES, Because of the time span, it would be perfect to be able to configure you options As Soon As Posible,

so you can get away from it for real...

think about. I put the cdrom in my computer, and boot,

takes me about 5minutes to go through txt setup

(choosing file system and format type)...

Than takes me about 10 to 15 to format, copy instal files, reboot and get to cmdlines.txt.

(well thats still aceptible to wait for isn't it),

Than takes me 5 to compleat the wizzard,

And after that, about, 45 to 90 mins to install

(depending on the software you add). GREAT now i can realy leave the building and out to lunch .... :D

well this seams exeptible - because, if you know your pc will be buisy for about an hour straight, you can leave, if it would be 3 parts of 20 you cant...

Link to comment
Share on other sites

Since I am loving this program, and there is no doubt that newcomers will have questions, I decided to put this up.

W.A.I.T. FAQ

Q: What is W.A.I.T.? What's its story?

A: bryanh (of the MSFN forum) loved the idea of having a menu system to select which apps to install and then having them install automatically. The only problem was that other installers lacked some features that he wanted. Rather than working on the java script he decided to break out the compiler and write his own. W.A.I.T. (Windows Application Installation Tool) was born.

W.A.I.T. is an application coded in C++ and designed for giving users choice. While Windows XP offers many ways of customizing the setup process out of the box, its major drawback is the lack of being able to select which applications an end user may install. In the past, end users and administrators needed to either download the files manually, or create overly complex scripts that could only be used once. W.A.I.T. allows you to create one image, which can then be custom configured, and optionally, automated, so that end users can install any applications.

Q: How do I install W.A.I.T.?

A: The process of preparing W.A.I.T. for usage in your windows XP Distribution is perhaps the hardest part. On average, implementing W.A.I.T. takes about 25 minutes plus testing. However, once initially setup, it becomes much easier.

Q: Which file do I edit so I can add my own programs and tweaks?

A: wait.cfg

Q: How many apps can I install?

A: You can install an unlimited amount of applications.

Q: How does W.A.I.T. install the programs?

A: There are two options to install programs: to use RunOnceEx or built-in dialog for install:

0=Use built-in dialog

1=Use RunOnceEx

[Config]UseRunOnceEx=0

Q: I'd like to run cleanup.cmd from W.A.I.T. How can I achieve this, so that it's executed at the end of all installations?

A: There are two ways to do this:

Option 1: Define cleanup.cmd like any other prog. Set ORDER=999, so that it's executed last. See the included wait.cfg for examples.

Option 2: call cleanup.cmd after wait.exe

Q: I am trying to move all my files to run from CD (instead of waiting for everything to be copied over to HDD).

Here's my basic setup:

C:\XPCD

.....| i386

.....| Applications

.....| $OEM$

..........| Install

...............| WAIT

However, I cannot test my installers anymore. I thought that this setup would work, and WAIT would install the apps from "XPCD" dir as if the whole "XPCD" dir was the root of the CD? What's wrong?

The error message I always get is "Windows cannot find 'J:\O\BOOT2\ROOT\\..."

But why is it looking in J:\ ?

A: Okay - here is some information. %cdrom% is determined by looking at all CD Drives in the system. For each CD Drive, it looks for ALLDVD.TXT in the root (this can be changed). If the file is found then that is what %cdrom% becomes.

The default %cdrom% is "J:\O\BOOT2\ROOT". Therefore, you are getting "j:\o\root" beacuse WAIT cannot find "AllDVD.TXT" in the root of any of your CD drives.

To fix this, W.A.I.T. has two new settings (since version 0.09). These are defined in wait.ini, under [Config]:

1) CDFILE - you set this to the file that WAIT should look for in the root of your CD drives. If found then %cdrom% will be set to that drive. (by default, this is ALLDVD.TXT)

2) CDDefault - you can set this to whatever path you like. If WAIT cannot find the CDFILE then %cdrom% will be set to CDDefault. (by default, this is J:\O\BOOT2\ROOT)

Q: How can I make programs dependent on each other?

A: First of all, every program in wait.cfg must have a unique UID.

The dependent program must also have a reference to its parent. So you'll have to use the DEPS property.

Set DEPS=PARENTUID (edit 'PARENTUID' to the actual UID of the parent program). For an example, see the relationship between BitTornado, and BitTornado New Icons:

Name=BitTornado 0.3.8
DESC=A version of BitTorrent, which is a P2P file swarming application.
CMD=%cdrom%\\$OEM$\\Applications\\bt\\bticons.exe
CAT=Internet
UID=BT

Name=BitTornado New Icons
DESC=Replaces the hard-to-read BitTornado system tray icons with nice-looking, easily discernable ones.
CMD=%cdrom%\\$OEM$\\Applications\\bt\\bticons.exe
CAT=Internet
UID=BTIcons
DEPS=BT

A program can be dependent of more than one other progs. In this case, the DEPS property contains more than one entry:

DEPS=PARENT1,PARENT2

There are two options for dependents.

Option 1 - A program will be unable to be selected until its "required" application is selected.

Use AutoSelect=0 to turn this feature on.

Option 2 - If you select an application the program will automatically select and other applications that are "required" and will unselect other applications that are "excluded"

Use AutoSelect=1 to turn this feature on.

[Config]
AutoSelect=1

Q: How can I change to install by category?

A: It's the default method of installation. Each category gets its own RunOnceEx window.

Q: How do I customize W.A.I.T.? (i.e. - change colors, icons, etc.)?

A: wait.ini controls icons and colors

[Colors]
UnCheckable=225,0,225
Checkable=192,192,192
Background=0,0,192
TitleColor=192,192,192
ButtonTextColor=192,192,192
ButtonHighlightTextColor=255,0,0

[Icons]
Run=run.ico
All=all.ico
Right=right.ico
Left=left.ico
Exit=exit.ico
None=none.ico

Q: How do I set custom buttons to select certain programs? (i.e. - laptop configuration, desktop onfiguration, etc.)?

A: wait.ini has the ability to define three user-defined selection buttons. There are three settings for each button:

1) Text - This is the text on the button

2) Icon - this is the file to use for the icon on the button

3) Select - this is a list of UID's that will be selected when you click the button

Here is an example:

[Button1]
text=Default
icon=all.ico
Select=App1,App2,App3

[Button2]
text=Laptop
icon=all.ico
Select=App4,App12,App21

[Button3]
text=Server
icon=all.ico
Select=App7,App8,App9

Q: How do I change the text of the default buttons?

A: wait.ini has a "Button Text" parameter. This will allow you to customize the text on the buttons.

[Button Text]
Run=Install
All=Check All
Next=Next
Previous=Previous
Exit=Quit
None=Check None

Q: How do I force the computer to reboot after a certain program is installed?

A: If you add REBOOT=1 to any item and that item is installed the system will reboot after all installations are completed.

Name=XP Post SP2-Hotfixes
UID=XPPOSTSP2HOTFIXES
REBOOT=1
DESC=Installs the latests hotfixes (KB834707, KB867282, KB873333, KB873339, KB885250, KB885626, KB885835, KB885836, KB886185, KB888113, KB888302, KB890047, KB890175, KB891781)
CMD=%cdrom%\\Apps\\InstallScripts\\HotFixes.au3.exe
CAT=Final

Q: How do I force a program to be installed?

A: If you add FORCED=1 to any item then the item cannot be "unchecked".

Name=XP Post SP2-Hotfixes
UID=XPPOSTSP2HOTFIXES
REBOOT=1
FORCED=1
DESC=Installs the latests hotfixes (KB834707, KB867282, KB873333, KB873339, KB885250, KB885626, KB885835, KB885836, KB886185, KB888113, KB888302, KB890047, KB890175, KB891781)
CMD=%cdrom%\\Apps\\InstallScripts\\HotFixes.au3.exe
CAT=Final

Q: How do I make a new line in the middle of a description?

A: %LB%. This can be used in the DESC field for each item. It will put a line break at the point where it is found in the description.

Q: My program names keep getting cut off (they are too long). How do I make more space between the columns, so the full program name is shown?

A: ColumnWidth will allow you to adjust the size of each column. (Default is 250)

[config]
ColumnWidth=250

Q: How do I stop a hung install?

A: Timeout is a value that can be used to limit the amount of time an install application will run. This is useful for stoping "hung" installs. Default is "wait forever" (-1)

(NOTE: Timeout ONLY works if you DO NOT use RunOnceEx.)

[config]
Timeout=10

Q: How do exclusions work?

A: Exclusions are used when you want to allow a user to select a program, but NOT another program.

In the example below, selecting any of the office-bundles of apps will deselect the other two choices:

Name=Word, Excel, Powerpoint
UID=WEP
CMD=RunApp1
EXCLUDES=WP
CAT=Test

Name=Word, Powerpoint
UID=WP
CMD=RunApp2
EXCLUDES=E
CAT=Test

Name=Excel
UID=E
CMD=RunApp3
EXCLUDES=WEP,WP
CAT=Test

Q: Okay, you've sold me. Where can I get W.A.I.T.?

A: Check out the thread at MSFN forums for a link to download, and a changelog.

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