There is an example ini file included! Just take a look at that.
But I'll describe it shortly (btw. there is a help section on my web page).
Settings are either organized in INI file, per command line switches or in WIHU GUI.
Ini file may contain following predefined sections:
[Environment]
[settings]
[users]
[environment.x] whereby x is an index 0 ... 65535 which correspondences with user.x index.
EACH OTHER SECTION NAME may contain software installation commands. (described later)
First of all, let me say, EACH section is optional, i.e. not required.
1. [Environment] section
This section may contain environment variables which will be _ONLY_ available while WIHU is running. One special thing is, that this environment variables may also reference regsitry values like following:
DefaultProfilesDir = HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfilesDirectory
This will read the above key from registry and saves it in environment variable DefaultProfilesDir which will be accessable later with %DefaultProfilesDir% somewhere.
2. [settings] section
This section may conatin settings as the name implied.
; Write windows size back to ini file after exit
dimension.update=1
; set window size
dimension.width=900
dimension.height=500
; PageHeaderTitle.x and PageHeaderSubTitle.x sets the header title or subtitle of specified page. First page is page 0.
PageHeaderTitle.0=Title0
PageHeaderSubTitle.0=SubTitle0
PageHeaderTitle.1=Title1
PageHeaderSubTitle.1=SubTitle1
; Set computer name to xyz
computer=xyz
; Skip settings dialog
skipsettings=1
Take a look at command line switches (WIHU /?) for detailed description of each of this keyword.
3. [users] section
Here you may create new user accounts or modify existing one. See example install.ini or my web page for more information how to do this.
;Disable Administrator account
user.0=Administrator
status.0=0x002
Group.0=1
password.0=1A6178031B607F041A617C071B6073081A61700B1B60770C1A61740F1B601B60D0
crypted.0=32
4. [environment.x] section
This contains permanent environment variables which will be stored in registry for corresponding user. x is the index specified in [users] section in user.x keyword. In above example there _could_ be a [environment.0] section.
Please note, registry references as in [environment] section are not allowed here!
5. software specific sections. This may contain many keywords. Most important one is command.x and description.x.
[My New Software]
command.0 = myapp.exe
description.0 = My first application
Please don't forget to append valid index. There may no holes in indixes, i.e. following isn't possible:
command.0=...
command.1=...
command.3=...
In this case WIHU will stop execution at command.1.
To organize software items in a tree structure you may append sub indixes like:
command.0.0 = mysubapp.0.exe
description.0.0 = First sub item of "My first application"
command.0.1 = mysubapp.1.exe
description.0.1 = Second sub items of "My first application"
command.0.0.0 = mysubapp.0.0.exe
description.0.0.0 = First sub item of sub item 0.0
selected.0.0.0 = 1
WIHU will show above example as:
[x] My New Software
[ ] My first application
[ ] First sub item of "My first application"
[x] First sub item of sub item 0.0
[ ] Second sub items of "My first application"
For detailed information about allowed keywords please take a look at example install.ini or at my web page.
Here your example:
[ATI specific things]
command.0 = "%systemdrive%\drivers\radeon_catalyst_4.9\Setup.exe -s -f1 setup.iss"
description.0= ATI Display Driver
file.0.0 = %systemroot%\system32\atiddc.dll?!
selected.0=1
command.1="%systemdrive%\install\radeon_catalyst_panel_4.9\Setup.exe -s -f1 setup.iss"
description.1= Control Panel 4.9 with SmartGART
file.1.0 = %systemroot%\system32\atiddc.dll?!
selected.1=1
[Power Toys]
command.0 = "%systemdrive%\install\powertoys\CmdHerePowertoySetup.exe /S /v /qn"
description.0=<Will never be showed since hidden>
hidden.0=1
selected.0=1
command.1="%systemdrive%\install\powertoys\TweakUiPowertoySetup.exe /S /v /qn"
description.1=<Will never be showed since hidden>
hidden.1=1
selected.1=1
[Adobe Acrobat Reader 6.0.1]
hidden.0=1
command.0="%systemdrive%\install\adobe\acrobatreader\Adobe Reader 6.0.1 - Deutsch.msi" /qn"
description.0=<Will never be showed since hidden>
selected.0=1
[MSN Messenger 6.2]
hidden.0=1
command.0=%systemdrive%\install\msnmessenger\MsnMsgs.msi IAGREE="Yes" ADDEXPLORERTOOLBAR="" SETSEARCHENGINE="" SETHOMEPAGE="" /q"
description.0=<Will never be showed since hidden>
selected.0=1
[Winamp 5.0.5]
hidden.0=1
selected.0=1
command.0="%systemdrive%\install\winamp\winamp.msi INI="%systemdrive%\install\winamp\winamp.ini" /qn"
description.0=<Will never be showed since hidden>
... or you could do (prefered):
[Drivers]
command.0 = "%systemdrive%\drivers\radeon_catalyst_4.9\Setup.exe -s -f1 setup.iss"
description.0= ATI Display Driver & Control Panel 4.9 with SmartGART
file.0.0 = %systemroot%\system32\atiddc.dll?!
selected.0=1
command.0.0="%systemdrive%\install\radeon_catalyst_panel_4.9\Setup.exe -s -f1 setup.iss"
description.0.0= Control Panel 4.9 with SmartGART
selected.0.0 = 1
hidden.0.0 = 1
[Applications]
command.0.0 = "%systemdrive%\install\powertoys\CmdHerePowertoySetup.exe /S /v /qn"
description.0.0 = Power Toys (Helper or whatever)
hidden.0.0 = 1
selected.0.0 = 1
command.0 = "%systemdrive%\install\powertoys\TweakUiPowertoySetup.exe /S /v /qn"
description.0 = Power Toys
selected.0 = 1
command.1 = "%systemdrive%\install\adobe\acrobatreader\Adobe Reader 6.0.1 - Deutsch.msi" /qn"
description.1 = Adobe Acrobat Reader 6.0.1
selected.1 = 1
command.2=%systemdrive%\install\msnmessenger\MsnMsgs.msi IAGREE="Yes" ADDEXPLORERTOOLBAR="" SETSEARCHENGINE="" SETHOMEPAGE="" /q"
description.2 = MSN Messenger 6.2
selected.2 = 1
selected.3 = 1
command.3 = "%systemdrive%\install\winamp\winamp.msi INI="%systemdrive%\install\winamp\winamp.ini" /qn"
description.3 = Winamp 5.0.5
This will unselect this item only if
atiddc.dll doesn't exists, otherwise this item will be selected and installed by default. To prevent some one from selecting this item anyway, you could add
locked.0=1
Or in case you don't want some one changing any item in
[ATI specific things] section you could add top level
locked=1 (without indixes)
btw.
file.0.0=%systemroot%\system32\atiddc.dll?= would be the inverse meaning of ?!.
Note: There is currently a bug in file existence check implementation. Please download new version 2.1.11.1
Benjamin
This post has been edited by BenjaminKalytta: 23 September 2004 - 07:07 AM