| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> |
| <HTML> |
| <head> |
| <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1"> |
| <TITLE></TITLE> |
| <META NAME="GENERATOR" CONTENT="StarOffice/5.2 (Win32)"> |
| <META NAME="AUTHOR" CONTENT="Oliver Bolte"> |
| <META NAME="CREATED" CONTENT="20001218;17461754"> |
| <META NAME="CHANGEDBY" CONTENT="Ingo Schmidt"> |
| <META NAME="CHANGED" CONTENT="20010205;15392152"> |
| <STYLE> |
| <!-- |
| @page { margin: 2cm } |
| --> |
| </STYLE> |
| </head> |
| <body> |
| <P ALIGN=CENTER STYLE="margin-bottom: 0cm"><B><FONT SIZE=5>The |
| scp-project in OpenOffice.org<BR></FONT></B><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm; font-weight: medium"><FONT SIZE=4>Introduction:</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><SPAN STYLE="font-weight: medium"><FONT SIZE=3>The |
| scp project contains the script-particles (scp) for OpenOffice.org. |
| This project</FONT></SPAN> produces *.inf (Win) and *.ins (Unx) files |
| which are used to direct the setup and the production of installation |
| sets with lzip.</P> |
| <P STYLE="margin-bottom: 0cm">The scp project directs the whole |
| installation process for the OpenOffice.org. Following components are |
| supported: Directorys, files, configuration items (for *.xml files), |
| registry items (for windows registry), profile items (entries for the |
| ini-files), folders, default installation path, help texts for setup, |
| cinema text, modules and basic scripts.</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=4>A. How to put a new file |
| in the installation set:</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <OL> |
| <LI><P STYLE="margin-bottom: 0cm">Add a Gid item (e.g. like |
| GID_FILE_LIB_SFX ) <BR>into the scp/inc/gid.inc file.</P> |
| <P STYLE="margin-bottom: 0cm"></P> |
| <LI><P STYLE="margin-bottom: 0cm">For which project and which |
| setup-module is the new file relevant?</P> |
| <P STYLE="margin-bottom: 0cm">Setup: scp/source/global/setupzip.scp |
| this is for files needed by the setup.</P> |
| <P STYLE="margin-bottom: 0cm">Office: scp/source/office/files.scp |
| </P> |
| <P STYLE="margin-bottom: 0cm">and so on for calc, chart , ...<BR><BR> |
| </P> |
| <LI><P STYLE="margin-bottom: 0cm">a ) Standard filenames like |
| sfx615mi.dll or libsfx615ss.so can be integrated into<BR>the |
| files.scp (for OfficeFAT) with the macros</P> |
| <P STYLE="margin-bottom: 0cm"><BR>STD_LIB_FILE( GID_FILE_LIB_SFX , |
| sfx )<BR><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">or, if the dll needs to be registered |
| in the applicat.rdb:<BR><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">STD_UNO_LIB_FILE( GID_FILE_LIB_DLL , |
| dll)</P> |
| <P STYLE="margin-bottom: 0cm"><BR>Resource files are added |
| with<BR>STD_RES_FILE( GID_FILE_RES_SFX , sfx )</P> |
| <P STYLE="margin-bottom: 0cm"></P> |
| <P STYLE="margin-bottom: 0cm">This macro STD_RES_FILE expands the |
| file name to sfx61501.res for english or sfx61549.res for german.</P> |
| <P STYLE="margin-bottom: 0cm"><BR>b) Filenames whithout SUPD (this |
| is the version number, for example the 615) can be realised by |
| using:</P> |
| <i> |
| <BR>File GID_FILE_LIB_EXAMPLE |
| <P STYLE="margin-bottom: 0cm"> BIN_FILE_BODY;</P> |
| <P STYLE="margin-bottom: 0cm"> Styles = (PACKED);</P> |
| <P STYLE="margin-bottom: 0cm"> Dir = GID_DIR_PROGRAM;</P> |
| <P STYLE="margin-bottom: 0cm"> #ifdef UNX</P> |
| <P STYLE="margin-bottom: 0cm"> Name = |
| "libexample.so";</P> |
| <P STYLE="margin-bottom: 0cm"> #else</P> |
| <P STYLE="margin-bottom: 0cm"> Name = |
| "example.dll";</P> |
| <P STYLE="margin-bottom: 0cm"> #endif</P> |
| <P STYLE="margin-bottom: 0cm"> End<BR><BR> </i> or, if the dll |
| needs to be registered in the applicat.rdb:<BR><BR><i> |
| </P> |
| <P STYLE="margin-bottom: 0cm">File GID_FILE_LIB_EXAMPLE_UNO</P> |
| <P STYLE="margin-bottom: 0cm"> BIN_FILE_BODY;</P> |
| <P STYLE="margin-bottom: 0cm"> Styles = |
| (PACKED,UNO_COMPONENT);</P> |
| <P STYLE="margin-bottom: 0cm"> RegistryID = |
| GID_STARREGISTRY_APPLICAT_RDB;</P> |
| <P STYLE="margin-bottom: 0cm"> Dir = |
| GID_DIR_PROGRAM;</P> |
| <P STYLE="margin-bottom: 0cm"> #ifdef UNX</P> |
| <P STYLE="margin-bottom: 0cm"> Name = |
| "libexample_uno.so";</P> |
| <P STYLE="margin-bottom: 0cm"> #else</P> |
| <P STYLE="margin-bottom: 0cm"> Name = |
| "example_uno.dll";</P> |
| <P STYLE="margin-bottom: 0cm"> #endif</P> |
| <P STYLE="margin-bottom: 0cm"> End <BR><BR><BR> |
| </P> |
| </i> |
| <P STYLE="margin-bottom: 0cm"> c) Archive files as they come from the |
| extras project or any other zip-compressed file<BR> can be included |
| by using following construct:<BR><BR> |
| <i> File GID_FILE_EXTRA_EXAMPLE</P> |
| <P STYLE="margin-bottom: 0cm"> Dir = |
| GID_DIR_EXAMPLE;</P> |
| <P STYLE="margin-bottom: 0cm"> ARCHIVE_TXT_FILE_BODY;</P> |
| <P STYLE="margin-bottom: 0cm"> Name = "example.zip";</P> |
| <P STYLE="margin-bottom: 0cm"> End</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P></i> |
| <P STYLE="margin-bottom: 0cm"> d) Archive files with countrycode |
| (e.g. 01, 03, 07, ..., 96)</P> |
| <P STYLE="margin-bottom: 0cm"> in the filename (extras project) can |
| be included by using following construct:<BR><BR><i> File |
| GID_FILE_EXTRA_EXAMPLE</P> |
| <P STYLE="margin-bottom: 0cm"> Dir = |
| GID_DIR_EXAMPLE;</P> |
| <P STYLE="margin-bottom: 0cm"> ARCHIVE_TXT_FILE_BODY;</P> |
| <P STYLE="margin-bottom: 0cm"> EXTRA_ALL_LANG(example);</P> |
| <P STYLE="margin-bottom: 0cm"> End</P></i> |
| <P STYLE="margin-bottom: 0cm"> <BR> Please notice, that the macro |
| EXTRA_ALL_LANG(example) expands to</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"> Name (01) = "example01.zip";</P> |
| <P STYLE="margin-bottom: 0cm"> Name (03) = "example03.zip";</P> |
| <P STYLE="margin-bottom: 0cm"> Name (30) = "example30.zip";</P> |
| <P STYLE="margin-bottom: 0cm"> o</P> |
| <P STYLE="margin-bottom: 0cm"> o</P> |
| <P STYLE="margin-bottom: 0cm"> Name (96) = "example96.zip";</P> |
| <P STYLE="margin-bottom: 0cm"></P> |
| <LI><P STYLE="margin-bottom: 0cm">The new file has to be linked to a |
| setup-module. Default is the root-module, meaning that this file |
| will be installed always and cannot be deselected during setup. If |
| the file belongs for example to the Calc-project, add its Gid to the |
| files section of the module in the file |
| scp/source/calc/module_calc.scp.</P> |
| <P STYLE="margin-bottom: 0cm"></P> |
| <LI><P STYLE="margin-bottom: 0cm">Conclusion:</P> |
| <P STYLE="margin-bottom: 0cm">If a new standard file is added to the |
| OpenOffice.org, two scp-files have to be updated:</P> |
| <P STYLE="margin-bottom: 0cm">scp/inc/gid.inc (for the addition of |
| the new GID)</P> |
| <P STYLE="margin-bottom: 0cm">scp/source/files.scp (for the |
| description of the file)</P> |
| <P STYLE="margin-bottom: 0cm"></P> |
| </OL> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=4>B. Configurationitems</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">Configurationitems are used to add or |
| change configuration entries in xml files.</P> |
| <P STYLE="margin-bottom: 0cm">There are several important subentries |
| like Path, Key, Value, Styles and ModuleID.</P> |
| <P STYLE="margin-bottom: 0cm">A typical item looks like following |
| example:</P> |
| <P STYLE="margin-bottom: 0cm"> |
| </P><i> |
| <P STYLE="margin-bottom: 0cm">ConfigurationItem |
| GID_CONFIGURATIONITEM_EXAMPLE</P> |
| <P STYLE="margin-bottom: 0cm"> ModuleID = GID_MODULE_SO_ROOT;</P> |
| <P STYLE="margin-bottom: 0cm"> Path = |
| "org.openoffice.Office.ExampleFile/Filters/draw_SGV_StarDraw_20";</P> |
| <P STYLE="margin-bottom: 0cm"> Key = "UIName";</P> |
| <P STYLE="margin-bottom: 0cm"> Value = "SGV - StarDraw 2.0";</P> |
| <P STYLE="margin-bottom: 0cm"> Styles = (CFG_STRING, CREATE);</P> |
| <P STYLE="margin-bottom: 0cm">End</P></i> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">Path:</P> |
| <P STYLE="margin-bottom: 0cm">The first part of this entry declares |
| the filename without extension in this example</P> |
| <P STYLE="margin-bottom: 0cm">org.openoffice.Office.ExampleFile.xml |
| is the target file. The following part of the entry describes the |
| path in the xml file.</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">Key and Value:</P> |
| <P STYLE="margin-bottom: 0cm">Contain the entries in the xml file.</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">Styles:</P> |
| <P STYLE="margin-bottom: 0cm">Defines the type of value:</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">CFG_STRING: Value = "A string"</P> |
| <P STYLE="margin-bottom: 0cm">CFG_STRINGLIST: Value = a list of |
| strings</P> |
| <P STYLE="margin-bottom: 0cm">CFG_BOOLEAN: Value = "TRUE" |
| or "FALSE"</P> |
| <P STYLE="margin-bottom: 0cm">CFG_NUMERIC: Value = 1031</P> |
| <P STYLE="margin-bottom: 0cm">CFG_BINARY: Value is binary.</P> |
| <P STYLE="margin-bottom: 0cm">CREATE: Creates a new entry in the |
| xml file. If this entry exsists in the xml file no action takes |
| place.</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=4>C. Profile and |
| ProfileItems</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">This part of setup is localized in the |
| profile.scp and profile_xxx.scp files (where „xxx“ means |
| for example „calc“ for different setup-modules).</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">Profile declares the name and directory |
| of an ini file. The gid name is needed in the ProfileItem declaration |
| as ProfileID parameter. The ProfileItems are the entries in the form |
| „Key = Value“ of the ini-files.</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P><i> |
| <P STYLE="margin-bottom: 0cm">Profile GID_PROFILE__EXAMPLE_INI</P> |
| <P STYLE="margin-bottom: 0cm"> ModuleID = GID_MODULE_EXAMPLE;</P> |
| <P STYLE="margin-bottom: 0cm"> Name = "example.ini";</P> |
| <P STYLE="margin-bottom: 0cm"> Dir = GID_DIR_EXAMPLE;</P> |
| <P STYLE="margin-bottom: 0cm"> Styles = (NETWORK);</P> |
| <P STYLE="margin-bottom: 0cm">End</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P></i> |
| <P STYLE="margin-bottom: 0cm">Styles:</P> |
| <P STYLE="margin-bottom: 0cm">NETWORK : <SPAN STYLE="font-weight: medium">Network |
| installation</SPAN></P> |
| <P STYLE="margin-bottom: 0cm">WORKSTATION : Workstation installation</P> |
| <P STYLE="margin-bottom: 0cm">INSTALL_INFO : Only necessary for the |
| install.ini</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P><i> |
| <P STYLE="margin-bottom: 0cm"> ProfileItem GID_PROFILEITEM_EXAMPLE_INI_TEST</P> |
| <P STYLE="margin-bottom: 0cm"> ProfileID = GID_PROFILE_EXAMPLE_INI;</P> |
| <P STYLE="margin-bottom: 0cm"> ModuleID = GID_MODULE_EXAMPLE;</P> |
| <P STYLE="margin-bottom: 0cm"> Order = 2;</P> |
| <P STYLE="margin-bottom: 0cm"> Section = "Example";</P> |
| <P STYLE="margin-bottom: 0cm"> Key = "test";</P> |
| <P STYLE="margin-bottom: 0cm"> Value = "testValue";</P> |
| <P STYLE="margin-bottom: 0cm">End</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P></i> |
| <P STYLE="margin-bottom: 0cm">ProfileID : GID of the ini file defined |
| by Profile</P> |
| <P STYLE="margin-bottom: 0cm">ModuleID : Setup-module GID</P> |
| <P STYLE="margin-bottom: 0cm">Section : Declaration of the sectioname</P> |
| <P STYLE="margin-bottom: 0cm">Order : Numerical order of the entry</P> |
| <P STYLE="margin-bottom: 0cm">Key and Value : Contain the content of |
| the ini-file entry</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">Language dependent Value entries are in |
| the correspondent lng files.</P> |
| <P STYLE="margin-bottom: 0cm">Several macros are used to handle these |
| entries (xx = 01,03,...,96):</P> |
| <P STYLE="margin-bottom: 0cm">ALL_LANG_STR_SECTION(str) expands to |
| Section(xx) = "str-xx"</P> |
| <P STYLE="margin-bottom: 0cm">ALL_LANG_STR_KEY(str) expands to Key |
| (xx) = "str"</P> |
| <P STYLE="margin-bottom: 0cm">ALL_LANG_STR_VALUE_LNG(ID) expands to</P> |
| <P STYLE="margin-bottom: 0cm">Value (01) = "Value text 01";</P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Value (96) = "...";</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>when the content of the |
| lng file is</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">[STR_VALUE_ID]</P> |
| <P STYLE="margin-bottom: 0cm">01 = "Value text 01"</P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm">96 = "..."</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">You can use the macros as follows:</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P><i> |
| <P STYLE="margin-bottom: 0cm">ProfileItem GID_PROFILEITEM_EXAMPLE_INI_TEST</P> |
| <P STYLE="margin-bottom: 0cm"> ProfileID = GID_PROFILE_INSTALL_INI;</P> |
| <P STYLE="margin-bottom: 0cm"> ModuleID = GID_MODULE_PRG_IMPRESS_BIN;</P> |
| <P STYLE="margin-bottom: 0cm"> Order = 2;</P> |
| <P STYLE="margin-bottom: 0cm"> ALL_LANG_STR_SECTION(simpress-Filters);</P> |
| <P STYLE="margin-bottom: 0cm"> ALL_LANG_STR_KEY("StarImpress 4.0 |
| Vorlage");</P> |
| <P STYLE="margin-bottom: 0cm"> ALL_LANG_STR_VALUE_LNG(TEMPLATE_STAR_IMPRESS40);</P> |
| <P STYLE="margin-bottom: 0cm">End</P></i> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=4>D. Directories</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>This part of setup is |
| localized in the dir.scp and dir_xxx.scp files (where again „xxx“ |
| means for example „calc“ for different setup-modules).</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P><i> |
| <P STYLE="margin-bottom: 0cm">Directory GID_DIR_EXAMPLE</P> |
| <P STYLE="margin-bottom: 0cm"> ParentID = PD_PROGDIR;</P> |
| <P STYLE="margin-bottom: 0cm"> DosName = "example";</P> |
| <P STYLE="margin-bottom: 0cm"> Styles = (WORKSTATION, |
| DELETE_ONLY, CHECK_TIMESTAMP,CREATE);</P> |
| <P STYLE="margin-bottom: 0cm">End</P></i> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">Styles:</P> |
| <P STYLE="margin-bottom: 0cm">WORKSTATION : Create directory on client |
| side (Network installation only)</P> |
| <P STYLE="margin-bottom: 0cm">CREATE : Create empty directory. If |
| setup copies a file into a directory the directory will be |
| created automatically.</P> |
| <P STYLE="margin-bottom: 0cm">DELETE_ONLY : Setup removes this |
| directory during deinstallation |
| </P> |
| <P STYLE="margin-bottom: 0cm">CHECK_TIMESTAMP : Will be only deleted |
| when 'delete all' flag during deinstallation<BR> was set. Usage |
| with DELETE_ONLY flag only.</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">PD_PROGDIR is predefined as the |
| installation path.</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=4>E. Modules</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>This part of setup is |
| localized in the module.scp and module_xxx.scp files (and again „xxx“ |
| means for example „calc“ for different setup-modules).</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Modules are used to |
| declare installation components which are composited from files, |
| directorys, basic procedures, profileitems, configurationitems. They |
| are usally selectable or deselectable in the setup dialog box for |
| custom installation.</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P><i> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Module GID_MODULE_EXAMPLE</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Name = |
| "Example name";</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Description = |
| "Example description"; </FONT> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> ParentID = |
| GID_MODULE_PARENT;</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Files = |
| (GID_FILE_EXAMPLE1,GID_FILE_EXAMPLE2);</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Procedures = |
| (GID_PROCEDURE_EXAMPLE);</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Minimal = YES;</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Default = YES;</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Styles = |
| (HIDDEN_ROOT);</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>End</FONT></P></i> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Name: Name of the module.</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Description: Description |
| of the module.</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Minimal: If set to YES, |
| this component is part of a minimal installation.</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Default: If set to YES, |
| this component is part of a standard installation.</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Styles: HIDDEN_ROOT: Hide |
| the module in the dialog box for custom installation.</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> DONT_SELECT_BY_USER: The |
| user can't change the selection status of the module.</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3><U>Important:</U></FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>To |
| switch Profiles, ProfileItems and ConfigurationItems with modules, |
| the gid of the module is specified in the |
| Profile/ProfileItem/ConfigurationItem ModuleID parameter.</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><SPAN STYLE="text-decoration: none"><FONT SIZE=3>To |
| switch customs, procedures, files and directories</FONT></SPAN>, the |
| gid of these items are specified in</P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>the similar Files,Customs, |
| Dirs, Procedures parameters of the Module declaration.</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>MOD_NAME_DESC(id):</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>The macro MOD_NAME_DESC |
| is very usefull, because of the language dependencies of the name and |
| description entries. It is using the corresponding module.lng and |
| module_xxx.lng files which contain the language dependent strings.</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Usage: </FONT> |
| </P><i> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Module GID_MODULE_EXAMPLE</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> |
| MOD_NAME_DESC(MODULE_EXAMPLE);</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> ParentID = |
| GID_MODULE_OPTIONAL;</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Files = |
| (GID_FILE_ZIP_ADDIN,GID_FILE_LIB_ROT,GID_FILE_LIB_DFA);</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Procedures = |
| (GID_PROCEDURE_EXAMPLE);</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Minimal = YES;</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Default = YES;</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> Styles = |
| (HIDDEN_ROOT);</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>End</FONT></P></i> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>In this example the id |
| MODULE_EXAMPLE expands to the appropriate</FONT> sections<BR>in the |
| lng file:</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>[STR_NAME_ MODULE_EXAMPLE]</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>01 = "Example"</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>96 = "...."</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>[STR_DESC_ MODULE_EXAMPLE]</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>01 = "Example |
| description"</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>96 = "...."</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3>The country codes have the |
| following meaning:</FONT></P><BR> |
| 01: English<BR> |
| 03: Portuguese<BR> |
| 07: Russian<BR> |
| 30: Greek<BR> |
| 31: Dutch<BR> |
| 33: French<BR> |
| 34: Spanish<BR> |
| 39: Italian<BR> |
| 45: Danish<BR> |
| 46: Swedish<BR> |
| 48: Polish<BR> |
| 49: German<BR> |
| 55: Spanish (Brasil)<BR> |
| 81: Japanese<BR> |
| 82: Korean<BR> |
| 86: Chinese (simple)<BR> |
| 88: Chinese (traditional)<BR> |
| 90: Turkish<BR> |
| 96: Arabian<BR> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=4>F. |
| Procedures</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><SPAN STYLE="text-decoration: none"><FONT SIZE=3>This |
| part of setup is localized in the basic.scp and basic_xxx.scp files |
| for Windows.</FONT></SPAN></P> |
| <P STYLE="margin-bottom: 0cm">For UNIX the appropriate files are |
| unxbasic.scp and unxbasic_xxx.scp <FONT SIZE=3> (and of course „xxx“ |
| means for example „calc“ for different setup-modules).</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><BR> |
| </P><i> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>Procedure |
| gid_Procedure_Example</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> ProcName = |
| "ExampleProcedure";</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> |
| Styles = (STANDALONE, WORKSTATION, INSTALL, BEFORE_INST);</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> Code = |
| {Sub ExampleProcedure</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> Basic |
| program</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> °</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> End |
| Sub</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> |
| };</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>End</FONT></P></i> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>Styles: STANDALONE Execute |
| during standalone installation/deinstallation</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> NETWORK : Execute |
| during network installation/deinstallation</FONT></P> |
| <P STYLE="margin-bottom: 0cm"><SPAN STYLE="text-decoration: none"><FONT SIZE=3> WORKSTATION : Execute |
| during workstation installation/deinstallation</FONT></SPAN></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> INSTALL : Execute |
| during installation</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> UNINSTALL : Execute |
| during deinstallation</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> BEFORE_INST : Execute |
| before creating directories/files.</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> AFTER_INST : Execute |
| at the end of installation.</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> PRE_SELECT_MODULE : Execute |
| before custom select dialog</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> Only |
| for one procedure allowed.</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3> LANGUAGE_SELECT_MODULE : |
| Only important for checking the setup module selection</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm"><FONT SIZE=3><U>Important:</U></FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>The |
| value of ProcName must be the name of the subroutine given in the |
| first line of the code parameter. In this example: |
| 'ExampleProcedure'.</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>The |
| procedure GID must be added to a module by using the Procedures |
| parameter in the module declaration (look above).</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm; font-weight: medium; text-decoration: none"> |
| <FONT SIZE=4>G. Setup specifications</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">Some setup-variables are available, |
| which are replaced by the scp-linker or the setup itself.</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">Linker-Variables:</P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">%PRODUCTNAME w<SPAN STYLE="font-weight: medium">ill |
| be substituted by the name of the product, here „OpenOffice.org“</SPAN></P> |
| <P STYLE="margin-bottom: 0cm">%PRODUCTVERSION w<SPAN STYLE="font-weight: medium">ill |
| be substituted by the version of the product, here „6.0“</SPAN></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm">Setup-Variables:</P> |
| <P STYLE="margin-bottom: 0cm"><workpath>, <SPAN STYLE="text-decoration: none"><FONT SIZE=3><progpath> |
| </FONT></SPAN> : Office-installation path</P> |
| <P STYLE="margin-bottom: 0cm"><productkey> : only for the |
| sversion-ini</P> |
| <P STYLE="margin-bottom: 0cm"><SPAN STYLE="text-decoration: none"><FONT SIZE=3>Userdata: |
| <title>, <email>, <customernr>, <position></FONT></SPAN>, |
| <SPAN STYLE="text-decoration: none"><FONT SIZE=3><city>, <fax>, |
| <telefonwork></FONT></SPAN>, <SPAN STYLE="text-decoration: none"><FONT SIZE=3><telefonhome>, |
| <street>, <company>, <country>, <state>, |
| <zip>, <userfirstname></FONT></SPAN>, <SPAN STYLE="text-decoration: none"><FONT SIZE=3><username>, |
| <userid>, <sequence_languages></FONT></SPAN></P> |
| <P STYLE="margin-bottom: 0cm"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>The |
| following preprocessor directive is available for OpenOffice.org: |
| OSL_PRODUCT</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>Tip: |
| If you make changes in one of the scp-files, please use the SUPD, for |
| example if you include a new file in the files.scp use:</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>#if |
| SUPD > 622</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>... |
| Here is the file-definition</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><FONT SIZE=3>#endif</FONT></P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><BR> |
| </P> |
| <P STYLE="margin-bottom: 0cm; text-decoration: none"><BR> |
| </P> |
| </body> |
| </HTML> |