English| Deutsch
› Overview › Process and Use › Requirements › Download › Installation » Configuration › FAQ › News › Feedback › Links
ANI at Sourceforge
SourceForge.net Logo
Commercial Support by
Substring.ch Logo
Valid XHTML 1.0!


This page outlines the possibilities to configure ANI for all the special needs of your environment.
The following three chapters explain how to configure the Bootmedia, Microsoft's Unattended Setup and the Post-Windows Installation.

^ top

A - Configure the Bootmedia

A.1 - Boot Parameters

A.1.1 - Installation Modes

'new' (default), 'update', 'nonet'.

boot: new [ENTER]
Initial ANI installation. The HDD will be formatted.
WARNIG: All datas on HDD will be erased!
Only the system partition will be erased. Only files that have changed since the last update of the mirror partition will be copied from over the network.
This is the recommended installation mode, if the client already has had an initial ANI installation.
Performs an installation from the local mirror partition. Only the software packages will be received over the network.

A.1.2 - Runlevel

'2' (default), '3'.
NOTE: If a runlevel is passed at the boot prompt you have to pass a installation mode too!

boot: update 3 [ENTER]
Currently undefined.
Installation mode (recommended).
Debug mode. Only recommended for developers! The installation stops before the start of the installation routine of Windows and you can edit files and do other things with a minimal Linux-shell.

A.2 - ani.cf0, ani.cf1 and ani.cf2

The configuration files ani.cf0, ani.cf1 and ani.cf2 are located on the boot media in the directory /config.
The installation mode defines which of these files is the valid configuration file:

ConfigFile:           Installation mode:
ani.cf0               new
ani.cf1               update
ani.cf2               nonet
Apart from changeing the PWFLAGS, edit these files only for debug purposes. Because the Linux-Bootdisk uses the FAT-format as its file system, its files can also be changed under Windows.

A.2.1 - Post Windows flags PWFLAGS

In ani.cf0, ani.cf1 and ani.cf2 you can find the entry PWFLAGS=0 (default). PWFLAGS manages currently two features:

Flag:                 Value:
mail and join         0
nomail and join       1
mail and joinoff      2
nomail and joinoff    3

^ top

B - Configure Microsoft's Unattended Setup

B.1 - unattended.tpl

The settings for the MS Unattended Setup have to be made in the file ~/Ai386/ani/unattend.tpl. You can find a guide to Unattended Setup on the website of Microsoft for Windows 2000 or Windows XP.
Most of the settings in unattend.tpl are adapted for ANI and should not be changed. That concerns especially all variables enclosed by '$'-characters, because they will be replaced dynamically.

The following listed settings should be changed to fit your region or the concerned OS.

B.1.1 - Sections [Unattended] and [Shell]

The following settings only affects Windows XP. These settings do not cause problems with Windows 2000 so the same unattend.(txt|tpl) can be used for both Operating Systems.

    ;XP: Needed for XP - see <http://support.microsoft.com/?kbid=294801>.
    ; Use classic start menu
    ; Use classic visual style

B.1.2 - Section [GuiUnattended]

In this section you should change the value for the key TimeZone. The presetting is 110, which is the numerical value for the TimeZone (GMZ +01:00) Amsterdam, Berlin, Bern.... To look up a numeric value for your timezone, see the Unattend.doc file on your Windows-CD or directly here.


B.1.3 - Section [RegionalSettings]

This section defines language support and other international settings for the MS Unattended Setup.
A complete description of the section can be found at Microsoft. A complete reference about keyboard-layouts, languages, locales, codepages etc. can be found here.
Following presettings are made:

;   Language=00000409

LanguageGroup has the value for Western Europe and United States and Language has the code for German_Swiss. The commented line is an example for the language code English_United_States.

^ top

C - Configure Post-Windows Installation

By Post-Windows installation we mean the part of the installation, which happens under the freshly installed Windows.

C.1 - WINSET.INI resp. WINSET.TPL (main configuration file)

The main configuration file 'winset.tpl' is located in the directory ~/Ai386/ani.
NOTE: All presettings in 'winset.tpl' are made for english/american OSs. If you are using another language, you should edit all affected paths (e.g. 'Program Files'(englisch) -> 'Programme'(german)).
Some settings are only valid for Windows XP. They can be found by the comment ';XP:' in the preceding line. These new settings did not cause problems with Windows 2000.
Following configurations may be done:

C.1.1 - Section [versioninfo]

The keys 'version', 'release', 'insttype' and 'releasedate' must not be removed because their values are evaluated for mail notification and logging.
You can change their values to whatever you want.

C.1.2 - Section [mailnotification]

Initialization values for mail notification. The mail notification informs about the installatioin process.
The present keys will be evaluated and therefore must not be changed or deleted.
The values should be changed to fit the own environment.
Make following specifications:

C.1.3 - Section [rmvdir]

The key are arbitrarily. As value you may pass every directories you want to delete during the unattended setup.
You have to pass the absolute path of the directories (e.g. '1=C:\Program Files\Outlook Express').
WARNING: Directories will be deleted recursive!

C.1.4 - Section [mkdir]

All specified directories will be created. Good for creating directories with spaces etc. which are not in the DOS 8.3 format.
You may also make directories by creating them in the installation environment under the directory tree ~/Ai386/i386/$OEM$/$$ (system root, normaly C:\WINNT\) resp. ~/Ai386/i386/$OEM$/$1 (system drive, normally C:\). But there you can only specify names limited to DOS 8.3 format.

C.1.5 - Section [rmfile]

Specify all files, which should be deleted during the unattended setup. You have to pass the absolute path for every file (e.g. '1=C:\Program Files\Common Files\System\directdb.dll').

C.1.6 - Section [dynvar]

The section [dynvar] must not be edited.
The values will be substituted dynamically.
The variable $CLTYPE$ defines a client class and will be evaluated for the software package installation. See the field Clienttype in the following screenshot in Process and Use.
The variable $COMPNAME$ will be substituted by the machine name during the installation.

C.1.7 - Section [options]

The section [options] must not be edited.
The variables will be substituted dynamically by the corresponding variables in the configuration file ani.cfx during the installation.

C.1.8 - Section [attrib]

Sets attributes on files or directories.

Apart from HIDDEN, the following attributes can be used: ARCHIVE, HIDDEN, NORMAL, OFFLINE, READONLY, SYSTEM and TEMPORARY. Use Google to search for their meaning.

C.1.9 - Sections [DelRegKey <unique name>]

These sections define a section group of registry keys, which should be deleted.
For every registry key you have to define a own section starting with 'DelRegKey' and a space.

[DelRegKey outlook_ex_1]
kpath=Software\Microsoft\Outlook Express

[DelRegKey outlook_ex_2]
WARNING: Keys will be deleted recursively.

C.1.10 - Sections [DelRegVal <unique name>]

These sections define a section group of registry values, which should be deleted. Both, value name and value will be deleted.
For every registry value you have to define a own section starting with 'DelRegVal' and a space.

[DelRegVal v1]
kpath=Software\Microsoft\Outlook Express

C.1.11 - Sections [AddRegKey <unique name>]

These sections define a section group of registry keys and/or values, which should be created.
For every registry value you have to define a own section starting with 'AddRegKey' and a space.

[AddRegKey Startupscript]
You may omit the values for the keys 'vname', 'value' and 'vtype', if you want to create an empty key.
The keys will be created without respect to the existence of higher-level keys.

C.1.12 - Section [addlocalgroups]

Creates user defined local user groups.
Syntax: <local grouop name>=<group description>

Floppy-Users=Users with acces to floppy

C.1.13 - Section [fillgroup_lcl]

Assigns local users or local user groups to existing local groups.
Syntax: <local group>=<user1 resp. group1>,<user2 resp. group2>,...
If you want to add domain groups, configure the section [fillgroup_glb]. Example:

;adds loacl user 'anithing' to the local administrators group:

;adds local User 'anithing' to the local group 'Floppy-Users':

C.1.14 - Sektion [fillgroup_glb]

Assigns domain users or domain user groups to existing local groups.
Syntax: <local group>=<domain name>\<user1> resp. <domain name>\<group1>,<domain name>\<user2> resp. <domain name>\<group2>,...

;adds domain group 'anidomain\CDROM-User_DLG' to local group 'CDROM-Users':

;adds domain user 'anidomain\anithing' and domain group 'anidomain\Floppy-User-DLG' to local group 'Floppy-Users':
NOTE: You can add domain groups and users only if the machine belongs to the appropriate domain or if a valid trust exists.

C.2 - SWPACK.INI (configuration file for installing additional software)

The configuration file SWPACK.INI is located in the directory ~/APACK and controls the installation of software packages, depending on the client class.
Currently there are 26 client classes (A..Z) predefined, which may be used in the section [CLTYPE] as 'ATYPE', 'BTYPE',...
Have a look in CONTENT and SWPACK.INI for further details and at the field Clienttype in the following screenshot in Process and Use where the user enters the client class.

C.3 - Special configurations

C.3.1 - Renaming local administrator and setting its password

You have the possibility to set the local administrators password in the file 'unattend.txt'. There the password is written as 'plain text' and everybody may read it. If someone interrupts the uattended setup, he is able to get the local administrators password.
With ANI you have the possibility to set the password with the tool 'prenet.exe'. In addition 'prenet.exe' renames the local administrator and creates a dummy-user named 'administrator'. prenet.exe is coded in C. It's difficult for a normal user to get the password because prenet.exe is a binary.
The source code for prenet.exe is located in the directory ~/SOURCES/prenet. The administrators name and pasword are defined in ~/SOURCES/prenet/prenet.h.
Following name and password are predefined: (line 12..15 in prenet.h)

#define _OLD_ADMIN TEXT("administrator")
#define _NEW_ADMIN TEXT("anithing")  // or whatever you want
#define _NEW_PASSWD TEXT("ani++")    // or whatever you want
#define _DUMMY_PW TEXT("ANIgoes")    // password for deactivated old account 'administrator'
prenet.exe was compiled with Microsoft Visual C++ .NET 69586-270-0000007-18846.