blob: 6efc068437ef03d872e6886a3811db5d1cc8b8b7 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<head>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="StarOffice 8 (Solaris Sparc)">
<META NAME="AUTHOR" CONTENT="Ingo Schmidt">
<META NAME="CREATED" CONTENT="20020419;13085671">
<META NAME="CHANGED" CONTENT="20070730;16330200">
</head>
<body LANG="de-DE" DIR="LTR">
<P ALIGN=LEFT STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif"><FONT SIZE=6>Understanding
the script elements</FONT></FONT></P>
<P><BR><BR>
</P>
<P><FONT FACE="Verdana, sans-serif">The setup scripts is readable
with a text editor. It contains blocks for different items, which can
be read by the setup. If you open a setup script file, like setup.inf
or setup.ins, you find blocks like</FONT></P>
<P STYLE="line-height: 100%"><FONT FACE="Verdana, sans-serif">File
gid_File_Lib_Db31<BR>Name = &quot;libdb32.dll&quot;;<BR>PackedName =
&quot;f_0320&quot;;<BR>Size = 430080;<BR>Dir =
gid_Dir_Program;<BR>Carrier = gid_DataCarrier;<BR>UnixRights =
755;<BR>Date = &quot;23012002&quot;;<BR>Time = &quot;0600&quot;;<BR>Styles
= (PACKED);<BR>End</FONT></P>
<P><FONT FACE="Verdana, sans-serif">Each block begins with a special
keyword and ends with an &bdquo;End&ldquo;. In this case the keyword
is &bdquo;File&ldquo;, showing that the following definition block
describes a file. As already shown in the document <A HREF="understanding_the_scipt_language.html">Understanding
the script language</A> the block definition contains the name of the
file, the packed name in the installation set, the size of the
unpacked file, the directory in which the file shall be installed,
the data carrier, the unix rights, the installation date and time and
some special styles. Each definition block has to have a unique name,
this is the so called global ID, GID. In the example above, the
defintion block is named gid_File_Lib_Db31 </FONT>
</P>
<P><FONT FACE="Verdana, sans-serif">There are keywords for many
actions the setup can make. Each keyword shows the beginning of a
definition block. An installation set only contains definition
blocks. You can define the following items:</FONT></P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_file.html">File</A>:
Describing a file in the installation set </FONT>
</P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_directory.html">Directory</A>:
Describes a directory the setup has to create </FONT>
</P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_profile.html">Profile</A>:
Describing an ini- or rc-file, the setup creates and fills during
setup </FONT>
</P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_profileitem.html">ProfileItem</A>:
One line in the form Key = Value in a Profile, written by the setup</FONT></P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_registryitem.html">RegistryItem</A>:
One line in the form Key = Value in the setup registry, written by
the setup </FONT>
</P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_folder.html">Folder</A>:
Creates a directory in the Windows system, for example in the start
menu directory</FONT></P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_folderitem.html">FolderItem</A>:
Creates the links to files in the created folder, for example in the
start menu folder </FONT>
</P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_shortcut.html">Shortcut</A>:
Defines a link, which has to be created by the setup </FONT>
</P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_unixlink.html">Unixlink</A>:
Definition of a link in a Unix system, created by the setup</FONT></P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_windowscustomaction.html">WindowsCustomAction</A>:
A custom action that is executed by the Windows Installer service</FONT></P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_mergemodule.html">MergeModule</A>:
A merge module defines a Microsoft Merge Module, that is merged into the msi database during
packaging process</FONT></P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_module.html">Module</A>:
Defines modules, which can be selected or deselected in a user
defined installation. This item is also used to structure the setup
script and all scp projects. A module contains lists of Files, Dirs,
... etc. Each product can be defined as a group of modules. There is a special
process for modules with language specific files:
<A HREF="scpitem_templatemodule.html">Language Specific Module</A>.</FONT></P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_installation.html">Installation</A>:
This is the start definition in each setup script. It contains some
global settings</FONT></P>
<P><FONT FACE="Verdana, sans-serif"><A HREF="scpitem_scpaction.html">ScpAction</A>:
This will not appear in the setup script in an installation set. It
is only important for the packing process.</FONT></P>
<P><FONT FACE="Verdana, sans-serif">There are two groups of items.
The one group describes GIDs, which have to be connected to modules.
The other group describes global definitions. As you can see, the
modules have a special position in the setup script.</FONT></P>
<P><FONT FACE="Verdana, sans-serif">A module looks like:</FONT></P>
<P STYLE="line-height: 100%"><FONT FACE="Verdana, sans-serif"><FONT FACE="Verdana, sans-serif">Module
gid_Module_Prg_Math_Bin<BR>MOD_NAME_DESC ( MODULE_PRG_MATH_BIN
);<BR>ParentID = gid_Module_Prg_Math;<BR>Default = YES;<BR>Minimal =
YES;<BR>Files =
(gid_File_Dtd_Math,gid_File_Exe_Smath,gid_File_Html_W3c_Ipr,gid_File_Lib_Sm,gid_File_Res_Sm);<BR>Unixlinks=(gid_Unixlink_Mylink);<BR>Dirs
= (gid_Dir_Mydir);</FONT><BR>End</FONT></P>
<P><BR><BR>
</P>
<P><FONT FACE="Verdana, sans-serif"><U>Module dependent items:</U></FONT></P>
<P><FONT FACE="Verdana, sans-serif">This module block defines the
module gid_Module_Prg_Math_Bin, which describes the math module, that
can be selected or deselected in a userdefined installation. As you
can see, the module definition, contains lists of other GIDs. The
lists <B>Dirs</B> (item <B>Directory</B>), <B>Files</B> (item: <B>File</B>),
<B>Unixlinks</B> (item: <B>Unixlink</B>), contain all GIDs, which
describe definitions, that are installed by the setup, if the module
is selected. Other items, like Profiles, ConfigurationItems, etc. are
not assigned to a module, but have to contain the ModuleID in their
definition!</FONT></P>
<P><FONT FACE="Verdana, sans-serif"><U>Items without module
assignment:</U></FONT></P>
<P><FONT FACE="Verdana, sans-serif">The items <B>Installation </B><SPAN STYLE="font-weight: medium">and</SPAN>
<B>ScpAction</B> are <SPAN STYLE="text-decoration: none">global</SPAN>,
they do not belong to a module. The item <B>WindowsCustomAction</B>
knows the file, that contains the code of the custom action.
Therefore this is assigned to a file, not to a module. The item
<B>ShortCut</B> is assigned to a File or to another ShortCut.</FONT></P>
<P><BR><BR>
</P>
<P><BR><BR>
</P>
</body>
</HTML>