You are on page 1of 119

Versi on 3.

0
Jan 20, 2012
www.pantaray.com Pantaray Research LTD.
QSetup
nsta!!ation Suite
"anua! #or $ersion 11.0
2
Table of Contents
Table of Contents ........................................................................................................... 2
General ............................................................................................................................ 6
Components ............................................................................................................... 6
Composer.exe ............................................................................................................ 7
Command Line Parameters ........................................................................................ 8
Help ............................................................................................................................ 9
Project ........................................................................................................................... 11
Project Definition ....................................................................................................... 11
Create Split Setup ..................................................................................................... 12
on S!" !iles ........................................................................................................... 1#
Lan$ua$e Support .................................................................................................... 1%
Setup &ill 'xpire ....................................................................................................... 1(
Span CDs ................................................................................................................. 1(
De)u$ ....................................................................................................................... 16
Compression Le*el ................................................................................................... 16
Display ........................................................................................................................... 17
Setup +ac,$round .................................................................................................... 17
Setup Dialo$ ............................................................................................................. 18
-usic !ile ame ....................................................................................................... 19
Files ............................................................................................................................... 21
Definitions ................................................................................................................. 21
.DD .......................................................................................................................... 2#
-/SC'LL.'01S ................................................................................................. 27
2e$ister .s ............................................................................................................... 28
!ile .ttri)utes ............................................................................................................ 29
'xclude !rom ............................................................................................................ 29
0*er3rite !ile ............................................................................................................ #4
5ool5ip ...................................................................................................................... #4
-odif6 Dri*e 5o ......................................................................................................... #4
!ind 7 2eplace ......................................................................................................... #1
!ind ........................................................................................................................... #1
Pat8 .lias .................................................................................................................. #1
Dialogs .......................................................................................................................... 33
&elcome Dialo$ ........................................................................................................ #%
1ser /nformation Dialo$ ............................................................................................ #%
C8ec,in$ for Serial um)er ...................................................................................... #(
5o,eni9ed Serial um)er .......................................................................................... #6
Setup 56pe Dialo$ .................................................................................................... #7
Cop6 !iles Dialo$ ...................................................................................................... #7
Complete Dialo$ ....................................................................................................... #8
Serial C8ec, DLL !ile ............................................................................................... #8
Switces ........................................................................................................................ !2
0peratin$ S6stems ................................................................................................... %2
2e$ister as .pplication ............................................................................................. %2
2e$ister project in t8e H:L-;Soft3are )ranc8 ......................................................... %2
Ta%!e o# &ontents 3
Create Setup.lo$ !ile ................................................................................................ %#
'xtract !iles .............................................................................................................. %#
Pre*ious /nstallation .................................................................................................. %#
2unnin$ 'xecuta)le .................................................................................................. %%
2un<2un0nce ........................................................................................................... %%
5 < 2444 < "P < 244# < =ista < &in7 .......................................................................... %%
0*er3rite !iles .......................................................................................................... %(
.utorun ..................................................................................................................... %(
.'5 !rame3or, ....................................................................................................... %6
Sortc"ts ....................................................................................................................... !7
Start<Pro$ram -enu S8ortcut ................................................................................... %7
0t8er Start<Pro$ram S8ortcut /tems .......................................................................... %8
0t8er S8ortcuts ......................................................................................................... %9
Lan$ua$e Support .................................................................................................... %9
S8ortcuts are .*aila)le for ........................................................................................ %9
1n/nstall .................................................................................................................... (4
#ssociate ...................................................................................................................... $1
0pen &it8 ................................................................................................................. (2
%egistry ......................................................................................................................... $3
.dd 2e$istr6 /tem ..................................................................................................... (#
/mport 2e$ !ile ......................................................................................................... (%
/nstall 2e$ !ile .......................................................................................................... (%
&niFile ............................................................................................................................. $$
.dd /ni!ile /tem ......................................................................................................... ((
'() ................................................................................................................................ $6
.dd "-L /tem ........................................................................................................... (6
Definin$ an "-L pat8 ............................................................................................... (6
'xample .................................................................................................................... (7
*n+iron,ent .................................................................................................................. $-
.dd 'n*ironment =aria)le ........................................................................................ (9
=aria)le 'xpansion ................................................................................................... (9
5 *s 9" ................................................................................................................... (9
Properties ...................................................................................................................... 6.
=ersion /nfo ............................................................................................................... 64
/con ........................................................................................................................... 64
*/ec"te *ngine ............................................................................................................. 61
.dd 'xecute /tem ...................................................................................................... 61
5est ........................................................................................................................... 61
Ser*ice !iles ............................................................................................................. 62
'xecution DLL !ile .................................................................................................... 62
0illboar1 ........................................................................................................................ 63
>eneral ..................................................................................................................... 6#
!rame ....................................................................................................................... 6%
+ac,$round Color ..................................................................................................... 6(
5ext !iles .................................................................................................................. 6(
#"to 2p1ate .................................................................................................................. 66
58e Concept ............................................................................................................. 66
Ho3 Does it &or,? ................................................................................................... 66
5erms in 1se ............................................................................................................ 66
Ta%!e o# &ontents '
>eneral ..................................................................................................................... 67
0ri$inal Setup .......................................................................................................... 68
5ime to 1pdate ......................................................................................................... 69
1pdate Setup ............................................................................................................ 69
2unnin$ t8e .uto1pdate .$ent ................................................................................ 71
.d*anced .uto 1pdate ............................................................................................. 72
.uto /nform ............................................................................................................... 72
(erge (o1"les ............................................................................................................. 7!
.dd -er$e -odule .................................................................................................... 7%
0ptions ..................................................................................................................... 7%
Set Parameters ......................................................................................................... 7(
5est ........................................................................................................................... 7(
2n&nstall ........................................................................................................................ 76
Create 1n/nstall ........................................................................................................ 76
1n/nstall S8ortcut ...................................................................................................... 77
.dd<2emo*e Pro$rams ............................................................................................. 77
Directories .................................................................................................................... 73
@2un5imeDirABC ....................................................................................................... 79
#liases ........................................................................................................................... 31
(S& ................................................................................................................................. 33
&86 -S/? ................................................................................................................. 8#
Producin$ an -S/ file ................................................................................................ 8#
-S/ *s '"' ............................................................................................................... 8%
-issin$ !eatures ....................................................................................................... 8%
#ppen1i/es 4 ................................................................................................................. 36
#1152p1ate */ec"tion &te, ........................................................................................ 36
/tem ameD............................................................................................................ 86
Perform .tD............................................................................................................ 86
/tem 56peD............................................................................................................. 87
0nline Help........................................................................................................... 87
Conditions............................................................................................................. 87
Stop<.nd<0r<"or.................................................................................................... 89
'xecutions............................................................................................................. 94
5H'.................................................................................................................... 9#
'LS'..................................................................................................................... 9#
ext 7 Pre*........................................................................................................... 9#
Cop6...................................................................................................................... 9#
Paste..................................................................................................................... 9#
=aria)le 'xamplesD............................................................................................... 9(
C0-P.2/> =aria)les........................................................................................ 9(
Command Line Parameters................................................................................... 96
Cec6 Depen1ency ..................................................................................................... --
Static C8ec,.......................................................................................................... 99
D6namic C8ec,..................................................................................................... 99
#1+ance1 #"to 2p1ate ............................................................................................. 1.1
58e Concept .......................................................................................................... 141
'sta)lis8in$ a Communication C8annel ................................................................. 141
-essa$e Structure .................................................................................................. 142
Ta%!e o# &ontents (
/nstructions<2eEuests !rom .pplication to .$ent ................................................... 142
/nstructions<2eEuests from .$ent to .pplication .................................................... 14(
FTP 2ploa1 ................................................................................................................ 1.7
Connection DataD .................................................................................................... 147
!iles to 1ploadD ....................................................................................................... 147
1pload .................................................................................................................... 147
#11ing new lang"age to 7Set"p .............................................................................. 1.3
8ow to co,pile te sa,ples "sing 9is"al 0asic: .................................................. 111
C"sto, Dialogs ......................................................................................................... 112
Custom Dialo$s Desi$ner ....................................................................................... 112
Dialo$s .rea ........................................................................................................... 112
Controls .rea .......................................................................................................... 11#
Pre*ie3F +utton................................................................................................... 11(
+idi 5est C8ec,+ox............................................................................................. 11(
Sa*e +utton......................................................................................................... 116
5ools +utton........................................................................................................ 116
Special Controls.................................................................................................. 117
/nteractin$ 3it8 t8e Custom Dialo$ .......................................................................... 117
0nClic,................................................................................................................ 117
+efore<.fter Dialo$.............................................................................................. 118
2ead<&rite Control Properties............................................................................. 118
)
General
GSetup from HPantara6 2esearc8 L5D.HI is toda6Js most effecti*e and po3erful setup
pro$ram.
GSetup is desi$ned to let 6ou create 8i$8 Eualit6 sop8isticated installation deli*er6 3it8
minimum effort and no script pro$rammin$.
GSetup features userKfriendl6 and intuiti*e interfaceI t8at 3ill 8elp 6ou create solid 7
dependa)le installations in a *er6 s8ort period of time.
GSetup 3ill produce a sin$le Self 'xtract installation file t8at can )e easil6 do3nloaded from
t8e /nternetI distri)uted on a CD or placed on a central !ile Ser*er.
GSetup can also create Split SetupI 38ere 6ou suppl6 6our customers 3it8 a small Setup
:ernel t8at 3ill do3nload t8e rest of t8e setup file from t8e /nternet.
GSetup is "ni;"e in its a)ilit6 to create setup t8at 3ill #"to 2p1ate from t8e /nternetI 38en
a ne3 *ersion of t8e pro$ram is a*aila)le.
Components
58e pro$ram includes # major componentsD
Co,poser.e/e 58e compilin$ pro$ram t8at creates t8e installation deli*er6 file.
*ngine.e/e 58e pro$ram t8at 3ill run on 6our customerJs computer to perform t8e
actual /nstallation 7 1n/nstallation.
St"b.e/e 58e Self 'xtract ,ernel.
Lou 3ill onl6 use directl6 t8e Composer pro$ram. 58e ot8er components 3ill )e added
automaticall6 to t8e /nstallation deli*er6 )6 t8e Composer.
*enera! +
Composer.exe
58e Composer is t8e pro$ram t8at creates t8e installation deli*er6 file K also 6nown as
-edia file or Setup file.
Page 0"ttons
0n t8e 5op<2i$8t side of t8e Composer screen 6ou 3ill find t8e follo3in$ )uttonsD
ProjectI !ilesI Displa6I Dialo$sI S3itc8esI S8ortcutsI .ssociateI 2e$istr6I /ni!ileI
'n*ironmentI PropertiesI 'xecuteI +ill)oardI .uto 1pdateI -er$e -odulesI 1n/nstall
and .)out.
&8en e*er 6ou clic, one of t8ese )uttonsI t8e 5op<Left area of t8e composer screen
3ill c8an$e its content to reflect t8e selection 6ou made.
&8en 6ou start a ne3 /nstallation project $o t8rou$8 all t8e pa$es in t8e order of t8e
)uttons and fill t8e reEuired items in e*er6 pa$e.
,e!p Too!s...
Pa-e .uttons
Per#orm
.uttons
"S / 010
Se!ection
*enera! 2
Perfor, 0"ttons
0n t8e +ottom<2i$8t side of t8e Composer screen 6ou 3ill find t8e follo3in$ )uttonsD
Sa*eI Pre*ie3I CompileI 1pload and 2un.
Sa+e K &8ene*er 6ou c8an$e an6 data t8is )utton 3ill )ecome acti*eI press t8is
)utton to sa*e t8e data.
Pre+iew K Press t8is )utton to see 38at 6our customers 3ill see durin$ t8e
installation. 58is is just a *isual testI no actual installation 3ill )e performed on 6our
computer.
Co,pile K &8en 6ou press t8is )utton t8e Composer 3ill create t8e actual
distri)ution file M-edia !ileN 6ou 3ill send to 6our customers.
Sign Co1e K .fter 6ou compile 6our setup and )efore 6ou upload it to t8e 3e)I clic,
t8e OSi$n CodeP )utton to open t8e HSi$n CodeH dialo$ and si$n 6our setup file.
2ploa1 K 1se t8is )utton to 1pload 6our setup deli*er6 to t8e /nternet usin$ !5P
protocol.
%"n K &8en 6ou press t8is )utton t8e Composer 3ill run t8e actual distri)ution file. /f
reEuired t8e Composer 3ill compile t8e file )efore runnin$ it. &8en 6ou clic, t8is
)utton actual installation 3ill )e performed on 6our o3n computer.
&(P<%T#=T K 58e HSi$n CodeH dialo$ is a*aila)le onl6 in t8e P20 =ersion.
(S&5*'* Selection
0n t8e +ottom<2i$8t corner of t8e Composer screen 6ou 3ill find a special selection
)ox. 1se t8is selection )ox to select -S/ setup file or traditional '"' setup file as 6our
tar$et setup compilation.
Command Line Parameters
>en r"nning te Co,poser
&8en runnin$ t8e Composer 6ou can add t8e follo3in$ parameters on t8e command
lineD
!ile ame K 58e full pat8 of a GSP file name K t8is file 3ill )e loaded for editin$
or compilin$.
<Compile K Compile t8e current setup.
<Compile.1 K Compile t8e current .utoK1pdate setup.
<'xit K 'xit t8e Composer M3ill )e performed after Loadin$ and<or compilin$N.
<'"' K Compile an '"' t6pe setup.
<-S/ K Compile a -S/ t6pe setup.
<P.5HA1Q? K !orce Pat8 .lias H@P.5HA1C to a desired *alue. MSee 8elp on
!iles pa$eN.
<P.5HA2Q? K !orce Pat8 .lias H@P.5HA2C to a desired *alue. MSee 8elp on
!iles pa$eN.
<P.5HA#Q? K !orce Pat8 .lias H@P.5HA#C to a desired *alue. MSee 8elp on
!iles pa$eN.
&(P<%T#=T K if <'xit is specified and an error 8as occurred durin$ compilationI
t8e composer 3ill return 3it8 an 'xitCode of 0ne M1N ot8er3ise t8e 'xitCode 3ill )e
Rero M4N.
Lou can test t8e 'xitCode of t8e composer usin$ a )atc8 file similar to t8e
follo3in$D
*enera! 3
@echo off
composer.exe "C:\MyDir\MyFile.qsp" /compile /exit
if ERRORLEVEL !oto "ERROR
if ERRORLEVEL # !oto "$oError
:"ERROR
echo %%% ERROR %%%
!oto E$D
:"$oError
echo %%% $o Error %%%
!oto E$D
:E$D
p&'se
>en r"nning te set"p
&8en runnin$ t8e Setup 6ou can add t8e follo3in$ parameters on t8e command lineD
<Silent K 58e Setup pro$ram 3ill run 3it8out inter*ention of t8e user.
<Hide K 58e Setup pro$ram 3ill run completel6 in t8e )ac,$roundI presentin$ no
dialo$ durin$ t8e process.
</nstallDirQHDestination Director6H K Define t8e default Destination director6 for
t8e setup.
&(P<%T#=T K 5silent 7 5i1e 3ill 8a*e no effect if t8e H1ser /nformationH dialo$ is
selected.
9ariables <n te Co,,an1 )ine
&8en runnin$ t8e Setup 6ou can define *aria)les on t8e command line.
58e s6ntax is similar to t8e follo3in$D
<O=ar1PQ12#% <O-6amePQSo8n
58ere is no limit to t8e num)er of *aria)les 6ou can define in t8is 3a6.
58e *aria)les 6ou define 3ill later )e used )6 t8e H'xecute 'n$ineH.
Help
0n t8e +ottom<Left side of t8e composer screenI 6ou 3ill find t8e OHelpP )utton.
Clic, t8is )utton to open a small Help area on t8e +ottom<Left side of t8e composer
screen.
/f 6ou clic, t8is )utton once a$ain t8e 8elp area 3ill close.
Lou can c8an$e t8e si9e of t8e 8elp area )6 dra$$in$ t8e )ar on top of it.
58e content of t8e 8elp area 3ill c8an$e 38en 6ou select different pa$es.
8elp Tools
Clic, t8e 8elp Tools panel to open t8e HHelp 5ools -enuH.
Lou can also 2i$8tClic, t8e 8elp area to $et t8e same menu.
!rom t8e HHelp 5ools -enuH 6ou can perform t8e follo3in$ operationsD
Print K Send t8e current 8elp document to t8e printer.
*enera! 10
Fin1 K Searc8 for a 3ord or p8rase in t8e 8elp s6stem. Lou can perform a
searc8 on t8e current 8elp document or .LL t8e documents.
Sow 8elp K +6 selectin$ t8is option 6ou 3ill open t8e current 8elp document in
a separate 3indo3. 58e content of t8is 8elp 3indo3 3ill 05 c8an$e as 6ou
select different pa$es.
GSetup -anual MpdfN K .ll GSetup 8elp files are no3 a*aila)le for do3nload as
a sin$le PD! file.&8en 6ou select t8is optionI GSetup 3ill first open t8e PD!
from t8e internet. .t t8e same time it 3ill also do3nload it to 6our dis,. ext
time 6ou attempt to open t8e PD! GSetup 3ill open it from t8e local stora$eI
t8us 6ou can read t8is PD! also 38en 6ou are offline.
11
Project
. project is t8e collection of data from 38ic8 t8e tar$et Setup pro$ram is produced )6 t8e
Composer pro$ram.
5o start a ne3 project K clic, t8e ?=ew Project...@ )utton.
Project Definition
Project na,e
>i*e 6our project a simple name t8at 3ill 8elp 6ou identif6 t8e current project.
'xamples can )e H&ord2444H or H'xcel97H.
Project Directory
58e project director6 is t8e place 38ere t8e output of t8e Composer pro$ram 3ill )e
placed. +6 default t8e Composer pro$ram 3ill create a su)director6 3it8 t8e name of
t8e project startin$ from t8e HProjectsH su)director6 under t8e Composer pro$ram
director6.
(e1ia File =a,e
58is 3ill )e t8e name of t8e tar$et Setup output file Mt8e installation file 6ou 3ill deli*er
to 6our customersN. 58is file is created )6 t8e composer 38en 6ou press t8e ?Co,pile@
)utton Mlocated at t8e 2i$8t<+ottom of t8e composer screenN. 58is file 3ill )e placed in
t8e HProject Director6H.
Copy File To...
.fter 6ou compiled a -edia file 6ou can cop6 it to anot8er location )6 clic,in$ t8e
?Copy File To...@ )utton. Lou can perform t8e same operation )6 2i$8t Clic,in$ t8e
?Co,pile@ )utton and selectin$D HCop6 -edia 5o...H.
Progra, Descripti+e =a,e
58is is a descripti*e name t8at is normall6 composed of 2 or # 3ords Msome times
refers to as t8e HProduct ameHN.
58is name 3ill )e used )6 t8e Setup pro$ram 38en creatin$ s8ortcuts to 6our pro$ram
in t8e Start<Pro$ram menuI and ot8er places.
*/a,ple 4 H&ord for &indo3sH or Hetscape a*i$atorH.
Progra, 9ersion
'nter 8ere t8e *ersion of 6our pro$ram. /f 6ou c8ec, t8e #"to,atic c8ec, )oxI t8e
composer pro$ram 3ill constantl6 update t8is field )6 readin$ t8e *ersion stamp from
t8e pro$ramJs tar$et executa)le resource ta)le Mdefined in t8e !iles pa$eN. 58is field is
used durin$ installation to create some re$istr6 ,e6s.
Co,pany =a,e
'nter 8ere t8e name of 6our compan6. 58is field is used durin$ installation to create
some re$istr6 ,e6s.
='2L /-P025.5
Lou must fill all t8e a)o*e mentioned data items M6N. GSetup is usin$ t8is information
38en constructin$ re$istr6 entries. /f 6ou omit some or all of t8e itemsI 6our pro$ram
mi$8t not install properl6 under &indo3s.
Pro4ect 12
Project 8an1ling 0"ttons
=ew Project...
1se t8is )utton to create a ne3 Setup project.
<pen Project...
1se t8is )utton to open an existin$ project for editin$. >enerall6 it 3ill )e enou$8 to
select t8e existin$ project from t8e drop do3n list of Project ames.
2p1ate Project...
1se t8is )utton if 6ou 3ant to modif6 t8e HProject ameH and<or t8e HProject director6H.
Sa+e Project #s...
1se t8is )utton to create a duplicate of t8e current project.
Create Split Setup
GSetup allo3s 6ou to create 2 t6pes of setup deli*er6D
1. %eg"lar Set"p K onl6 one Self 'xtract T.'"' file Mup to %>+ si9eN.
2. Split Set"p K one small :'2'L file MU174:+N and t8e rest of t8e data in anot8er
SPL/5 file MT.SPL/5N K no si9e limit.
58e idea )e8ind Split Setup is t8at t8e user run t8e :'2'L fileI and t8is file do3nloads
t8e rest of t8e data from t8e /nternetI or from a central file ser*erI and t8en proceed 3it8
t8e setup process.
Downloa1 2%)
'nter 8ere t8e 12L of 6our 3e)site. &8en runI t8e :'2'L 3ill do3nload t8e SPL/5
file from t8e 3e)site usin$ H55P protocol.
/f 6our SPL/5 file is stored in a su)director6 of t8e 3e)site add t8e name of t8e
su)director6 to t8e 12L.
'xampleD ttpA55www.,icrosoft.co,51ownloa1.
Lou can also specif6 8ere a director6 pat8. 58is option is useful if 6ou 3ant to store t8e
SPL/5 file in a central file ser*er.
Force Downloa1
1suall6 38en t8e :'2'L starts it 3ill loo, for t8e SPL/5 file in t8e same director6
38ere it 3as started from. /f t8e file is found t8e :'2'L 3ill use itI if not t8e :'2'L
3ill loo, for t8e file in t8e specified HDo3nloadK12LH.
/f 6ou 3ant to instruct t8e :'2'L to al3a6s use t8e HDo3nloadK12LH c8ec, t8e
H!orce Do3nloadH C8ec,+ox.
Secret To6en
58e secret to,en is a means for added securit6. /t is encr6pted and em)edded in )ot8
t8e :'2'L file and t8e SPL/5 file. Setup 3ill onl6 ta,e place if t8e HSecret 5o,enH of
)ot8 files matc8es.
'nter 8ere an6 text 6ou 3ant.
&(P<%T#=T K for added securit6I t8e Secret 5o,en is stored in 6our re$istr6 K not t8e
GSP file.
Pro4ect 13
%e;"est Confir,ation 0efore Downloa1
/nstruct GSetup to displa6 a messa$e )ox reEuestin$ confirmation )efore do3nloadin$
t8e SPL/5 file.
&&S Ser+er
/f 6ou are 8ostin$ 6our 3e)site on an //S ser*erI 6ou 3ill 8a*e to set some ne3 -/-'
t6pes for HSplit SetupH to 3or, properl6. !or more information $o to t8e follo3in$ pa$eD
333.pantara6.com<iis.8tml.
Non SFX Files
1suall6 GSetup creates a sin$le SelfK'xtract MS!"N file. 58is t6pe of setup deli*er6 is )est
suited for small setup files Mse*eral -+N t8at are usuall6 do3nloaded from t8e /nternet.
Ho3e*er if 6ou attempt to create a lar$e setup deli*er6 Mtens or 8undreds of -+NI 6ou
3ould pro)a)l6 deli*er 6our setup on a CD.
!or performance reasonsI 38en creatin$ a lar$e CD Setup 3e recommend t8at 6ou
create a small S!" file t8at include onl6 small files and lea*e t8e lar$e files M1suall6
/ma$es 7 -o*iesN on t8e CD.
5o create suc8 a setupI 6ou onl6 need to mar, t8e lar$e files K on t8e H!ilesH pa$e K as
H'xcluded !rom S!" !ileH.
.ll t8e files mar,ed t8is 3a6 3ill not )e included in t8e S!" file.
Later 38en 6ou )urn 6our CD 6ou 3ill need to include t8ose files on t8e CD as 3ell.
58e files must )e located on t8e CD in t8e same director6 38ere t8e S!" file is locatedI or
in an6 su)director6 of t8is director6.
/-P025.5 K Lou must ma,e sure t8at all t8e Hon S!" !ilesH 8a*e uniEue names
Munless 6ou c8ec, t8e H+uild on S!" Director6 5reeH option K descri)ed laterN.
Directory for =on SF' Files
/f 6ou define t8is director6 t8en durin$ t8e Compile processI all t8e onKS!" files 3ill
)e copied to t8is director6.
+6 default t8is director6 3ill recei*e t8e name HonS!"H and 3ill )e located inside 6our
HProject Director6H.
Clear =on SF' Directory 0efore Co,pile
/f t8is option is c8ec,edI all t8e files Mand directoriesN located in t8e HonS!"H director6
3ill )e erased )efore compilation.
0"il1 =on SF' Directory Tree
/f t8is option is c8ec,edI t8en K durin$ compilation K GSetup 3ill attempt to )uild inside
t8e HonS!"H director6 a ne3 director6 tree t8at 3ill loo, li,e t8e director6 tree 6our
setup 3ill )uild on t8e tar$et PC durin$ setup. .lso durin$ compilation GSetup 3ill
place e*er6 on S!" file inside its desi$nated director6. Later on 38en 6ou )urn 6our
CD all t8at 6ou 8a*e to do is cop6 t8e C05'5 of t8e HonS!"H director6 M!iles 7
Su)DirectoriesN to t8e CD.
&(P<%T#=T K if 6our setup includes se*eral files 3it8 t8e same nameI t8e onl6 3a6 to
deli*er t8em as onS!" is )6 c8ec,in$ t8is option.
Pro4ect 1'
Co,press =on SF' Files
&8en t8is option is c8ec,edI all t8e onS!" files 3ill )e compressed durin$
compilation. /f 6ou select t8is optionI 6ou must 05 allo3 6our customer to use t8e
HPartialH setup option MDescri)ed on t8e HDialo$sH pa$eN.
.ll compressed files 3ill 8a*e t8e extension H.A9H added to t8eir name.
P)*#S* =<T*
Compressin$ t8e onS!" files 3ill reduce t8e total si9e of files on t8e CDI 8o3e*er
t8is mi$8t complicate t8e setup process as files must )e 1nCompressed durin$
installation and t8en copied to t8e 5ar$et Director6.
Force Copy5Co,press =on SF' Files
GSetup 3ill cop6 and<or compress on S!" !iles to t8e on S!" Director6 onl6 if a file
modified since t8e last time it 3as copied. /f 6ou 3ant to !orce t8e cop6<compress
operation C8ec, t8is C8ec,+ox. GSetup 3ill compare files )ased on t8eir time stamp.
Lanuae Support
GSetup includes a compre8ensi*e infrastructure for -ultilin$ual support. Currentl6 more
t8en #4 lan$ua$es are supported 3it8 more to come.
&(P<%T#=T K Lan$ua$e Support is 05 a*aila)le in t8e L/5' =ersion.
Selection
C8ec, all t8e lan$ua$es 6ou 3ant 6our project to support.
Durin$ /nstallation t8e Setup pro$ram 3ill select t8e reEuired lan$ua$e )ased on t8e
)<C#)* information found in t8e operatin$ s6stem. /f a matc8 is not foundI t8e Setup
pro$ram 3ill default to 'n$lis8.
/f 6ou c8ec, <=)B <=* lan$ua$e t8is one 3ill )e t8e selected lan$ua$e K no c8ec,
performed.
#11ing ,ore lang"ages
58e lan$ua$e support is )ased on a text file in t8e form of an // file. 58e files are
located in t8e su)director6 L.>.
/f 6ou 3ant to create 6our o3n L.>1.>' fileI 6ou must cop6 t8e H'n$lis8.ln$H file to
a ne3 file 3it8 a name li,e H!renc8.ln$H and t8en edit t8e ne3 file. Detailed instructions
can )e found in t8e file H/nstructions.txt H located in t8e L.> director6.
&it8 similar tec8niEues 6ou can also easil6 edit an existin$ lan$ua$e file.
)ang"age Files on te >eb
&e are 8ostin$ a special pa$e on our &e)SiteI 3ere 3e post *arious lan$ua$e files
t8at 3ere contri)uted )6 users of t8e pro$ramI to *isit t8is pa$e $o to
333.pantara6.com<lan$ua$e.8tml.
)ang"age Selection Dialog
+6 defaultI Durin$ /nstallationI GSetup 3ill select t8e reEuired lan$ua$e )ased on t8e
)<C#)* information found in t8e operatin$ s6stem. /f 6ou c8ec, t8e option HLan$ua$e
Selection Dialo$HI GSetup 3ill present to t8e end user a selection dialo$ 3ere 8e can
select t8e reEuired installation lan$ua$e. 58is dialo$ 3ill appear at t8e *er6 )e$innin$
of t8e installation Mjust after extractN.
Pro4ect 1(
#11itional )ang"age S"pport
GSetup pro*ides additional tools for a full lan$ua$e support. 1sin$ t8is dialo$ 6ou can
pro*ide t8e follo3in$ P'2 L.>1.>' informationD
License .$reement 5ext !ile.
2ead-e 5ext !ile B1
2ead-e 5ext !ile B2
Pro$ram Descripti*e ame
Compan6 ame
5op La)el
5op La)el 2
+ottom La)el
1sin$ t8is dialo$ 6ou can pro*ide HLicense .$reementH and<or H2ead-eH files in
different lan$ua$es as 3ell as names and la)els.
.dd information onl6 for t8e lan$ua$es 6ou are interested in.
/f some fields are left unused GSetup 3ill use default *alues from t8e rele*ant
composer screen. !or instance if 6ou lea*e H2eadme 5ext !ile B1H empt6I GSetup 3ill
use t8e rele*ant information found on t8e HDialo$sH pa$e.
Testing )ang"age S"pport
5o properel6 test 6our multilin$ual setup 6ou must adjust 6our operatin$ s6stem to t8e
lan$ua$e under test.
!or more info read t8e follo3in$ lin,D 333.pantara6.com<lan$ua$e.8tmlBtestin$.
Setup !ill "xpire
1se t8is option limit t8e time 6our setup 3ill )e functional.
Lou 8a*e 2 optionsD
Set a !/"'D date for expiration.
Set a num)er of da6s after 6ou compile t8e setup.
&8en t8is option is set and t8e expiration date 8as elapsedI 6our user 3ill not )e a)le to
run t8e S'51P P20>2.- an6 more.
Span CDs
+6 default GSetup 3ill produce a sin$le Self 'xtract file.
Sometimes t8e sin$le file mi$8t $ro3 too )i$ to fit on a sin$le CD or ot8er distri)ution
media.
1sin$ t8is option 6ou can split t8e sin$le file into se*eral files )ased on si9e.
C8ec, t8is option and set t8e maximum si9e of eac8 file Mfor CDs 3e recommend 6(4
-+N.
Lou can set 8ere an6 *alue also a fractional num)er li,e 1.% -+ if 6ou 3ant to use
dis,ettes.
DonJt enter *alues smaller t8en 4.6 -+.
Pro,pting for =e/t Dis6
&8en extractin$ filesI GSetup 3ill prompt t8e user for t8e next dis, onl6 if t8e dis, is
not found in t8e 0ri$in director6. 58an,s to t8is )e8a*iorI an /5 -ana$er can cop6 .LL
t8e CDs to one director6 and instruct all users to install from t8is director6 3it8out
promptin$ for t8e next dis,.
Pro4ect 1)
Force Pro,pt
58is C8ec,+ox is *alid onl6 on t8e de*elopers station. 1sin$ t8is option t8e de*eloper
of t8e setup can $et a )etter feelin$ of t8e setup )e8a*ior e*en t8ou$8 all t8e setup
files are located in one director6.
0"rning a CD
LetJs sa6 6our H-edia !ile ameH isD H-6SetupHI and 6ou 8a*e c8ec,ed t8e option
HCreate .utorun.inf fileH on t8e HS3itc8esH pa$e.
.fter 6ou compile a SpanCDs setup 6ou 3ill 8a*e in t8e project director6 a list of files
similar to t8e follo3in$D
autorun.inf
-6Setup.exe
-6Setup.exe.441
-6Setup.exe.442
-6Setup.exe.44#
&8en )urnin$ t8is sample 6ou 3ill need # CDs.
0n t8e first CD 6ou 3ill place t8e follo3in$ # filesD
autorun.inf
-6Setup.exe
-6Setup.exe.441
0n t8e second CD 6ou 3ill place t8e fileD -6Setup.exe.442.
0n t8e t8ird CD 6ou 3ill place t8e fileD -6Setup.exe.44#.
56picall6 6our setup 3ill include 1 or more files 3it8 t8e extension .exe.44?.
Debu
58e HDe)u$H option is an important tool t8at 3ill 8elp 6ou 38en 6ou de*elop 6our setup.
&8en t8is option is c8ec,ed a special popup 3indo3 3ill open 38en 6ou run t8e setupI and a list
t8at descri)e t8e steps of t8e setup 3ill appear in t8is 3indo3.
<n tis PC
&8en t8is option is c8ec,ed t8e HDe)u$H 3indo3 3ill popup onl6 on t8e PC on 38ic8 t8e setup is
)ein$ de*eloped. 58is is t8e recommended option.
<n e+ery PC
&8en t8is option is c8ec,ed t8e HDe)u$H 3indo3 3ill popup onl6 e*er6 PC.
Compression Le#el
&8en creatin$ t8e Setup fileI GSetup compress t8e file to reduce t8e total si9e of t8e file.
1sin$ t8is selection )ox 6ou can select amon$ se*eral le*els of compression.
58e )etter t8e compression t8e lon$er it 3ill ta,e to compress t8e file.
58e Defa"lt option pro*ides t8e )est compromise )et3een speed 7 compression.
1+
Displa$
/n t8is pa$e 6ou 3ill define 38at 6our customer 3ill see durin$ t8e installation process.
&8ile editin$ t8is pa$e 6ou can constantl6 clic, t8e OPre*ie3P )utton Mlocated at t8e
2i$8t<+ottom of t8e composer screenN to monitor t8e results.
Setup %ac&round
#11 Set"p 0ac6gro"n1
/f 6ou c8ec, t8is C8ec,)ox t8en a colored )ac,$round Mormall6 3it8 $radientN 3ill co*er
t8e entire screen durin$ installation.
3D Fra,e
C8ec, t8is option to add a standard #D &indo3s !rame around t8e Setup +ac,$round.
Top )abel
Durin$ installation t8e Setup pro$ram 3ill displa6 t8is la)el at t8e top of t8e screen.
1se t8is la)el to displa6 a descripti*e name of 6our pro$ram.
Lou can control t8e appearance of t8e la)el )6 selectin$D Side and t8e follo3in$ !ont
attri)utesD ameI Si9eI St6leI Color and Script.
&,portant K &8en selectin$ a font ma,e sure 6ou select a &indo3s >eneric font li,e
5a8omaI =erdanaI .rialI 5ime e3 2oman etc... Ho3e*er if t8e font 6ou selected is
not found on t8e tar$et mac8ineI t8e Setup pro$ram 3ill default to H.rialH.
#11 9ersion
&8en t8is option is c8ec,edI t8e pro$ram *ersion Mas entered on t8e HProjectH pa$eN
3ill )e added to t8e H5op La)elH in smaller si9e fonts.
Top )abel 2
Durin$ installation t8e Setup pro$ram 3ill displa6 t8is la)el at t8e top of t8e screen K just
under t8e H5op La)elH.
0otto, )abel
Durin$ installation t8e Setup pro$ram 3ill displa6 t8is la)el at t8e )ottom of t8e screen.
1suall6 6ou 3ill use t8is la)el to displa6 Cop6ri$8t otice of 6our pro$ram.
Lou can control t8e appearance of t8e la)el )6 selectin$D Side and t8e follo3in$ !ont
attri)utesD ameI Si9eI St6leI Color and Script.
Clic, t8e c8aracters V and W to insert t8em in to t8e la)el 38ile editin$.
Design
Select an6 of t8e follo3in$ desi$nsD
>radient
Li$8t Source M2i$8tN
Li$8t Source MLeftN
&indmill M2i$8tN
&indmill MLeftN
Disp!ay 12
"P +ac,$round
2ectan$les M2i$8tN
2ectan$les MLeftN
2andom 2ectan$les M2i$8tN
2andom 2ectan$les MLeftN
Colors
1se t8ese color settin$s to define t8e colors of t8e )ac,$round.
58e function of eac8 color settin$s *ar6 accordin$ to t8e desi$n selected.
/f 6ou prefer a solid color )ac,$roundI unc8ec, t8e second C8ec,)ox.
0ac6gro"n1 0it,ap File =a,e
Lou can add a )itmap ima$e to )e displa6ed on t8e )ac,$round durin$ installation.
58e ima$e must )e of a +itmap t6pe MT.+-PN.
)ocation
Clic, t8e ?)ocation@ +utton to define t8e location of t8e )itmap.
Select an6 of t8e follo3in$ locationsD
CenterI 5op<LeftI 5op<2i$8tI +ottom<LeftI +ottom<2i$8tI
5op<CenterI +ottom<CenterI Left<CenterI 2i$8t<CenterI
'ntire Screen.
&8en 6ou select *ntire Screen t8e ima$e 3ill )e stretc8ed to co*er t8e entire screen.
1se t8e D" 7 DL *alues to s8ift t8e ima$e 8ori9ontall6 and *erticall6 from t8e ori$inal
location.
Transparent
&8en Transparent is C8ec,ed t8e ima$e 3ill )e displa6ed as transparent. 58e
transparent color is al3a6s t8e first pixel on t8e )itmap. Please note t8at on most
+itmap t8e first pixel is t8e first on t8e )ottom lineI on some )itmaps t8e first pixel is t8e
first on t8e top line.
Setup Dialo
Style
GSetup can displa6 2 t6pes of Setup dialo$sD
Classic
-odern
)ocation
Clic, t8e ?)ocation@ +utton to define t8e location of t8e Setup Dialo$.
Select an6 of t8e follo3in$ locationsD
CenterI 5op<LeftI 5op<2i$8tI +ottom<LeftI +ottom<2i$8tI 5op<CenterI +ottom<CenterI
Left<CenterI 2i$8t<Center.
1se t8e D" 7 DL *alues to s8ift t8e ima$e 8ori9ontall6 and *erticall6 from t8e ori$inal
location.
&,age File =a,e
58e setup dialo$ includes a small default +itmap. Lou can replace t8is )itmap )6 selectin$
a ne3 one.
Disp!ay 13
58e recommended maximum si9e of t8e )itmap isD
ClassicD Hei$8tQ2(6I &idt8Q124.
-odernD Hei$8tQ#47I &idt8Q164.
58e ima$e must )e of a +itmap t6pe MT.+-PN.
Lou donJt need to add t8e )itmap file to t8e files listI t8e Composer 3ill add it
automaticall6.
3D Fra,e
C8ec, t8is c8ec,)ox to add a classic #D !rame around t8e ima$e M=alid onl6 for
Classic st6leN.
&,age File =a,e S,all
58is selection is *alid onl6 for -odern st6le.
1se t8is option to select a small +-P file to )e added to man6 of t8e dialo$s in t8e
-odern st6le.
58e si9e of t8e ima$e must )eD Hei$8tQ(2I &idt8Q(2.
Clipart
Startin$ from *ersion 9.1.4.4 3e pro*ide a clipart of complimentar6 pairs of )itmaps.
1se t8is clipart to en8ance t8e displa6 of 6our setup.
Co,pany 2%)
'nter 8ere t8e 12L of 6our Compan6Js &e)Site. 58is 12L 3ill appear on t8e +ottom<Left
side of t8e Setup Dialo$. Clic,in$ t8is 12L 3ill open t8e )ro3ser 3it8 6our 3e)site.
Lou can direct t8e )ro3ser to anot8er 3e) pa$e )6 addin$ a | Mpipe si$nN and t8e tar$et
12L.
)ocation
12L 5extD 333.pantara6.com|8ttpD<<333.pantara6.com<Esetup.8tml
Displa6D 333.pantara6.com
&e)Pa$eD 8ttpD<<333.pantara6.com<Esetup.8tml
/-P025.5 K Compan6 12L is a*aila)le onl6 for t8e P20 and S51D/0 *ersions.
'usic File Name
GSetup 8as t8e a)ilit6 to pla6 music durin$ t8e setup process.
C8ec, t8is C8ec,+ox and specif6 a &.=' file or a -/D/ file. MT.&.= T.-/DN.
58e music 3ill pla6 durin$ t8e HCop6 !ilesH sta$e of t8e installation.
)oops
Specif6 8ere 8o3 man6 times t8e -usic file 3ill repeat itself. Lou ma6 specif6 *n1less
for continues pal6.
0nce t8e HCop6 !ilesH sta$e is terminatedI t8e pla6)ac, 3ill terminate also no matter
8o3 man6 loops 6ou specified. MPlease remem)er t8at t8e actual installation time 3ill
*ar6 from PC to PCN.
Lou ma6 also specif6 8ere *ntire Trac6 in t8is case t8e setup 3ill terminate onl6 after
t8e complete 3a*e file 8as pla6ed to its end.
Delay C(SD
!or a small setupI t8e time a*aila)le for t8e music to pla6 mi$8t )e too s8ort. Lou can
increase t8is time )6 addin$ a s8ort dela6 after e*er6 file cop6 operation durin$ t8e
HCop6 !ilesH sta$e.
Sli1er
C8ec, t8is C8ec,+ox to displa6 a Slidin$ =olume Control durin$ installation.
Disp!ay 20
58e Slider 8as 2 optional locations.
Fi/e1 K 58e silder 3ill )e placed on t8e setup dialo$.
Floating K 58e slider can )e placed an638ere on screen. Clic, t8e ?)ocation@
)utton to determine t8e exact location.
21
Files
n t8is pa$e 6ou 3ill define t8e collection of files t8at 6ou 3ill send to 6our customers in t8e
/nstallation deli*er6.
Definitions
#pplication Fol1er
Define 8ere t8e ultimate tar$et director6 6ou su$$est 6our customers as t8e tar$et
installation director6 for 6our pro$ram.
58e H.pplication !olderH consists of t3o partsD
58e first part is a predefined root director6 li,e @Pro$ram!ilesDirC.
58e second part is t8e tar$et application director6 inside t8e predefined root
director6.
ormall6 6ou 3ill enter 8ere 6our compan6 name li,e =etscape.
5n6 optiona!!y the name o# the pro-ram in the #orm Netscape(Na#iator.
7sua!!y your customers wi!! ha$e the option to se!ect another 6irectory 6urin- the
Setup process.
Co,,on Fol1er
58e HCommon !olderH is usuall6 used 38en 6our compan6 supplies se*eral pro$rams
t8at must s8are common files li,e DLLs and Data)ase files.
58e HCommon !olderH consists of t3o partsD
58e first part is a predefined root director6I normall6 @Common!ilesDirC.
/n t8e second part 6ou 3ill normall6 enter 6our compan6 name.
Please =ote K Lour customers 3ill =<T 8a*e t8e option to select a different HCommon
!olderH director6 durin$ t8e Setup process.
#"/iliary Fol1er
58e H.uxiliar6 !olderH is usuall6 used 38en 6ou 3ant to place files in some ot8er H&ell
:no3nH location li,e t8e !05S director6.
58e same rules t8at appl6 to t8e HCommon !olderH appl6 also to t8is folder.
Please =ote K Lour customers 3ill =<T 8a*e t8e option to select a different H.uxiliar6
!olderH director6 durin$ t8e Setup process.
Gro"ps
.ll files ,"st )e arran$ed in $roups so 6ou must create at least one $roup.
Lou add a >roup )6 clic,in$ t8e ?#11 Gro"p@ )utton.
-ore t8en one $roup is reEuired if 6ou plan to offer 6our customers t8e option to select
H56picalHI HCompactH or HCustomH installation.
Gro"ps are labele1 wit Green caracters.
8i!es 22
Fol1ers
/nside a $roup all files ,"st )e arran$ed in predefined folders.
Lou add a !older )6 clic,in$ t8e ?#11 Fol1er@ )utton.
Lou ma6 add t8e follo3in$ predefined folders to eac8 $roupD
@.pplication !olderC 58is is t8e director6 6ou defined as t8e .pplication
!older.
@Common !olderC 58is is t8e director6 6ou defined as t8e Common !older.
@.uxiliar6 !olderC 58is is t8e director6 6ou defined as t8e .uxiliar6 !older.
@&indo3s Director6C 58is is t8e &indo3s director6 as defined )6 t8e
operatin$ s6stem.
@S6stem Director6C 58is is t8e &indo3s;S6stem#2 director6 as defined )6
t8e operatin$ s6stem.
@S6stem 16 Director6C 58is is t8e &indo3s;S6stem director6 as defined )6 t8e
operatin$ s6stem.
@!ontDirC 58is is t8e &indo3s;!onts director6 as defined )6 t8e
operatin$ s6stem.
@-6DocumentsDirC 58is is t8e H-6 DocumentsH director6 as defined )6 t8e
operatin$ s6stem.
@2un5imeDirA1..8C 1p to 8 H2un 5imeH directories. . detailed description of
t8ose directories can )e found atD HDirectoriesH.
&8en creatin$ ne3 !oldersI 6ou can also define t8e H0*er3rite !ilesH polic6 for eac8
folder indi*iduall6.
58e follo3in$ options are a*aila)leD
Set"p Defa"lt K 1se t8e >lo)al settin$ as defined on t8e HS3itc8esH pa$e.
#lways K 58e ne3 file 3ill al3a6s o*er3rite t8e old file.
>en file is =ewer or Sa,e K 58e ne3 file 3ill o*er3rite t8e old one onl6 if it is ne3er
or same.
>en file is =ewer K 58e ne3 file 3ill o*er3rite t8e old one onl6 if it is ne3er.
=e+er K 58e ne3 file 3ill ne*er o*er3rite t8e old one.
&,portant K 58e same !olders ma6 appear in se*eral different >roups.
Fol1ers are labele1 wit %e1 caracters.
Directories
Lou ma6 create in eac8 !older an6 com)ination of Directories and Su)directories.
58e *er6 same director6 tree 3ill )e created on t8e tar$et computer inside t8e tar$et
installation director6.
=ote 4 Directories are not a must K 6ou can add files directl6 inside !olders.
&,portant K 58e same Directories ma6 appear in se*eral different !olders.
+6 default all directories are mar,ed 3it8 0<)D 0lac6 color.
/f later on 6ou set an6 attri)ute to t8is director6 its color 3ill c8an$r to 0<)D 0l"e.
8i!es 23
)DD
#11 Gro"p
Clic, t8e ?#11 Gro"p...@ )utton to add a ne3 $roup to t8e setup.
'nter t8e $roup name.
C8ec, t8e H>roup -1S5 .l3a6s )e /nstalledH C8ec,)ox if 6ou 3ant t8is $roup
to )e installed al3a6s.
C8ec, t8e H/nclude >roup in 5LP/C.L /nstallationH C8ec,)ox if 6ou 3ant t8is
$roup to )e part of t8e 5LP/C.L installation.
C8ec, t8e H/nclude >roup in C0-P.C5 /nstallationH C8ec,)ox if 6ou 3ant t8is
$roup to )e part of t8e C0-P.C5 installation.
/f 6ou plan to offer 6our customers t8e option of C1S50- installationI 6ou ma6 enter
some descripti*e text in t8e HDescriptionH areaI t8is text 3ill 8elp 6our customers decide
if to install t8is $roup.
*/cl"si+ity Tag
1sin$ t8e H'xclusi*it6 5a$H 6ou can force t8e user to select onl6 one $roup out of
se*eral.
*'#(P)*A
Lou plan distri)ute 6our soft3are to # countriesD 'n$landI !rance 7 >erman6.
Lou add to 6our soft3are # 8elp $roupsD
Help 'n$lis8.
Help !renc8.
Help >erman.
o3 6ou 3ant t8at if t8e user C8ec, one of t8e # t8e ot8ers 3ill )e automaticall6
1nC8ec,ed.
5o ac8ie*e t8is $oal do t8e follo3in$D
-ar, all # $roups 3it8 t8e same */cl"si+ity Tag num)er Mfor instance
2#N.
C8ec, 0LL t8e HHelp 'n$lis8H >roup on t8e HC1S50- /nstallation
Pa$eH.
o3 38en 6our customer 3ill C8ec, t8e HHelp !renc8H $roup or t8e HHelp
'n$lis8H $roup durin$ SetupI t8e HHelp 'n$lis8H $roup 3ill )e automaticall6
1nC8ec,ed.
&(P<%T#=T
5o ma,e sure t8at one and onl6 one $roup is .L&.LS selected 6ou must set
t8e */cl"si+ity Tag to a *alue $reater t8en 144.
&ncl"1e Gro"p in Set"p by Serial =",ber le+el
.s pre*iousl6 explainedI $roups $i*es 6our customer t8e a)ilit6 to control t8e content of
t8e installation at setup time.
+6 selectin$ C0-P.C5 t8e user 3ill normall6 install a smaller su)set of t8e
entire setup.
+6 selectin$ C1S50- t8e user 3ill 8a*e a t8e option to manuall6 select 38at to
include in t8e actual setup.
58e &ncl"1e Gro"p in Set"p by Serial =",ber le+el offers 6ou K t8e de*eloper K t8e
option to control 38at part of t8e setup 3ill )e installed on 6our customerJs computer
)ased on t8e Serial um)er 6ou pro*ide 8im.
8i!es 2'
5o ta,e ad*anta$e of t8is option do t8e follo3in$D
Decide 8o3 man6 /nstallation le*els 6ou 3ant to use Mupto 8 le*elsN.
C8ec, in eac8 $roup t8e le*els 6ou 3ant t8is $roup to )e included in.
/n t8e HDialo$sH pa$e Cec6 t8e H1ser /nformationH dialo$ and 2nCec6 t8e
HSetup 56peH and HCustomH dialo$s.
&8en 6ou pro*ide a serial num)er to 6our customer ma,e sure 6ou pro*ide
8im<8er 3it8 a serial num)er t8at starts 3it8 a num)er M1..8N or a c8aracter
M...HN accordin$ t8e le*el of installation 6ou are offerin$ 8im.
*'#(P)*
Lets sa6 6our setup include % $roupsD >roupK1I >roupK2I >roupK# and >roupK%.
Lou plan to 8a*e # le*els of installationD
Le*elK1 t8at includes t8e $roupsD >roupK1I >roupK2I >roupK# and >roupK%.
Le*elK2 t8at includes t8e $roupsD >roupK1 and >roupK#.
Le*elK# t8at includes t8e $roupsD >roupK1 and >roupK%.
5o adjust t8is plan 6ou 3ill mar, t8e >roups a follo3sD
>roupK1 included in Le*elK1I Le*elK2 and Le*elK#.
>roupK2 included in Le*elK1 onl6.
>roupK# included in Le*elK1 and Le*elK2.
>roupK% included in Le*elK1 and Le*elK#
&8en pro*idin$ a Serial um)er to 6our customer use t8e follo3in$ samplesD
/f S0H is entitled to Le*elK1 Setup send 8im a Serial um)er li,eD 1(9#K728%
or #:8'K%8DS.
/f -.2L is entitled to Le*elK2 Setup send 8er a Serial um)er li,eD 2(9#K728%
or 0:8'K%8DS.
/f D.=' is entitled to Le*elK# Setup send 8im a Serial um)er li,eD 3(9#K728%
or C:8'K%8DS.
58e actual len$t8 and content of t8e serial num)er is not important. 58e onl6 t8in$ t8at
matters is t8e first c8aracter t8at must )e 1..3 or #..8.
58is sc8eme 3or,s for all t6pes of Serial um)ers t8at GSetup supports MDLL +asedI
Predefined 7 5o,eni9edN.
5o learn more a)out Serial um)er clic, HDialo$sH.
Space %e;"ire1 on Dri+e CE0DA
+6 default GSetup 3ill calculate t8e space reEuired for e*er6 $roup on t8e tar$et
mac8ine and present it on t8e Custom dialo$.
Lou can manuall6 set a different *alue in t8is edit )ox.
#11 Fol1er
Clic, t8e ?#11 Fol1er...@ )utton to add a ne3 folder to t8e setup.
Select one of t8e % predefined folders.
Define t8e H0*er3rite !ilesH le*el for t8e selected folder. /f 6ou select t8e first
option MSetup DefaultN t8en t8e 0*er3rite le*el 3ill follo3 t8e $lo)al definition on
t8e ComposerJs Switces pa$e.
Define t8e H1n/nstall 2emo*e Polic6H of t8e folder. 2ead t8e next para$rap8
M.dd Director6N for explanations.
8i!es 2(
#11 Directory
Clic, t8e ?#11 Directory...@ )utton to add a ne3 director6 to t8e setup.
'nter t8e ne3 director6 name. Lou ma6 also select a name form t8e
Com)o+oxI if 6ou 3ant to duplicate one director6 in more t8en one $roup.
If required click the "FORCE Remove Directory During UnInstall" Checkbo!
*/planation K Durin$ 1n/nstall t8e 1n/nstall pro$ram 3ill attempt to delete all
t8e files t8at t8e Setup pro$ram placed in t8e said director6. /f t8e director6 is
empt6 t8e 1n/nstall pro$ram 3ill delete it. /f t8e director6 is not empt6 )ecause
ot8er files 3ere added later to t8is director6I t8e director6 3ill not )e deleted.
/f t8e H!orce 2emo*e Director6 Durin$ 1n/nstallH is c8ec,edI t8e 1n/nstall
pro$ram 3ill D'L'5' all t8e files in t8is director6 and in all t8e su)directories
t8at are included in t8is director6I and t8en 2'-0=' t8is director6 completel6.
/f reEuired clic, t8e HD0J5 2emo*e Director6 .D /5S C05'5 Durin$
1n/nstallH C8ec,)ox.
*/planation K /f a director6 is mar,ed 3it8 t8is optionI t8e 1n/nstall pro$ram 3ill
not remo*e it or an6 su)director6 t8at starts from t8is director6. .lso all t8e files
in t8is director6 and an6 su)director6 of t8is director6 3ill not )e erased.
/f reEuired clic, t8e HD0J5 2emo*e S1S5 Director6 Durin$ 1n/nstallH
C8ec,)ox.
*/planation K /f a director6 is mar,ed 3it8 t8is optionI t8e 1n/nstall pro$ram 3ill
not remo*e t8is director6I 8o3e*er .LL t8e contents of t8is director6 M!iles 7
Su)DirectoriesN 3ill )e remo*edI
&,portant 4 /t is 6our responsi)ilit6 to refrain from conflicts. . conflict ma6 arise
38en one director6 is mar,ed as H!02C' 2emo*eH and a su)director6 of it is
mar,ed as HD0J5 2emo*eH. /n case of conflictI t8e H!02C' 2emo*eH 3ill
pre*ail.
/f 6ou c8ec, an6 of t8e a)o*e mentioned s3itc8es t8e name of t8e director6 3ill appear
in 0l"e color.
#11 Files
Clic, t8e ?#11 Files...@ )utton to add one or more files to t8e setup.
Select t8e files to add to eac8 of t8e !olders 6ou defined.
!iles ma6 )e added directl6 into a !older or inside Directories.
+6 default all files are mar,ed 3it8 0lac6 color.
#11 File Tree
Clic, t8e ?#11 File Tree...@ )utton to add tree of directories and t8e files included in
t8em to t8e setup.
Lou ma6 add a file tree to t8e setup files )6 selectin$ a certain director6 in 6our
computer. 58e result 3ill )e addin$ all t8e files and director6 structure t8at starts from
t8is director6.
+6 default all files are mar,ed 3it8 0lac6 color.
8i!es 2)
)in6
1sin$ t8is option 6ou can instruct GSetup to lin, t8e content of a director6 to t8e setup
deli*er6.
Durin$ compilation GSetup 3ill scan t8e lin,ed director6 and add to t8e setup all t8e
files and<or su)directories t8at matc8es t8e lin, definition.
GSetup support # lin, optionsD
)in6 Files 0y (as6...
2i$8tClic, t8e !iles 5ree=ie3 and select HLin,<Lin, !iles +6 -as,...H.
58e pro$ram 3ill displa6 a special dialo$.
Clic, t8e ?0rowse...@ )utton and select a file.
58e pro$ram 3ill create a pat8 for a file in t8e form F.e/t.
Durin$ compilation GSetup 3ill add all t8e files found in t8at director6 t8at matc8 t8e
specified extention.
)in6 #ll Files...
2i$8tClic, t8e !iles 5ree=ie3 and select HLin,<Lin, .ll !iles...H.
58e pro$ram 3ill displa6 a special dialo$.
Clic, t8e ?0rowse...@ )utton and select a director6.
58e pro$ram 3ill create a pat8 for a file in t8e form F.F.
Durin$ compilation GSetup 3ill add all t8e files found in t8at director6.
)in6 Directory Tree...
2i$8tClic, t8e !iles 5ree=ie3 and select HLin,<Lin, Director6 5ree...H.
58e pro$ram 3ill displa6 a special dialo$.
Clic, t8e ?0rowse...@ )utton and select a director6.
58e pro$ram 3ill create a pat8 for t8at director6.
Durin$ compilation GSetup 3ill add all t8e files and su)directories found in t8at
director6.
Durin$ Setup a simmilar director6 tree 3ill )e )uilt on t8e tar$et mac8ine.
8i!es 2+
'*SC"LL)N"+,S
Cec6 Depen1ency
&8en 6ou deli*er 6our pro$ram to a customer 6ou must ma,e sure 6ou also deli*er all
t8e DLLs and 0C"s files t8at 6our pro$ram depends on.
58e HC8ec, Dependenc6H option 3ill 8elp 6ou find out 38at DLLs and 0C"s are
reEuired.
.fter 6ou clic, t8e ?Cec6 Depen1ency...@ )utton t8e pro$ram 3ill c8ec, all t8e
rele*ant files in 6our pro$ram M.'"'I .DLL 7 .0C"NI and produce a list of all reEuired
files. Clic, ?#11 Files@ to add t8e ne3 files to 6our installation deli*er6. 58e files 3ill )e
added to t8e current director6I 6ou can t8en mo*e t8em to anot8er director6 usin$ Dra$
7 Drop.
Lou can also c8ec, dependenc6 for a sin$le file )6 2i$8t Clic,in$ t8is file.
!iles t8at 3ere added usin$ t8is option 3ill )e 1nderLined in t8e files *ie3.
HC8ec, Dependenc6H is especiall6 important if 6ou pro$ram 3it8 H=isual +asicH.
!or more information Clic,D C8ec, Dependenc6.
Pre1efine1 Directories G H%"nTi,eDirIJK
7Set"p includes a lon$ list of predefined directories li,e @Pro$ram !iles DirCI
@&inDirC and upto 8 directories 38ose location is found at runtime. . detailed
description of t8ose directories can )e found atD HDirectoriesH.
ormall6I predefined directories are used as tar$et startin$ directories for 6our
installation.
Drag G Drop
Lou can use Dra$ 7 Drop for t8e follo3in$ operationsD
Dra$ files from &indo3s 'xplorer to t8e Composer file tree area.
Dra$ a director6 tree from &indo3s 'xplorer to t8e Composer file tree area.
-o*e files 7 Directories inside t8e Setup file tree.
Target */ec"table
'nter in t8is field t8e name of t8e main executa)le file of 6our pro$ram.
1se t8e H+ro3seH )utton to select one of t8e files in t8e Composer file tree.
58is name 3ill )e used for t8e follo3in$ tas,sD
Create s8ortcutMsN to 6our application.
2e$ister 6our pro$ram as an H.pplicationH in t8e &indo3s 2e$istr6.
0ffer t8e user to launc8 t8e pro$ram at t8e end of t8e setup process.
=ote 4 58e name must include relati*e pat8 and extension.
8i!es 22
-eister )s
Sare1 file
2e$isterin$ a file as a s8ared one started 3it8 t8e introduction of &indo3s 9(. 58e
idea 3as to re$ister s8ared DLLsI later on t8e concept e*ol*ed to include all t6pe of
files.
&8en re$isterin$ a file as s8ared t8e Setup pro$ram 3ill create a special entr6 for t8is
file in t8e follo3in$ 2e$istr6 ,e6D
H:'LAL0C.LA-.CH/';Soft3are;-icrosoft;&indo3s;Current=ersion;S8aredDLLs
/n t8is entr6 t8e Setup pro$ram 3ill create a counter and set it to 0'.
/f suc8 an entr6 alread6 exists t8e Setup pro$ram 3ill increment t8e counter.
&8en 1n/nstallin$ t8e application t8e 1n/nstall pro$ram 3ill decrement t8e counterI
and proceed to delete t8e file onl6 if t8e counter is set to R'20.
Lou 3ill normall6 use t8is option 0LL if 6ou install a file t8at mi$8t )e used )6 ot8er
applications.
<C'5C<( Ser+er
.cti*e" files need to )e re$istered under &indo3s.
1suall6 6ou perform t8e re$istration manuall6 usin$ t8e command line pro$ram
2e$S*r#2.exe.
1se t8is option to instruct GSetup to perform t8is operation automaticall6 durin$
/nstallation.
=<T* K 58is option is also a*aila)le from t8e H'xecuteH pa$e.
#"to Test <C'5C<( Ser+er
5o )e a)le to )e re$istered as a Ser*er a DLL or 0C" must implement t8e
HDll2e$isterSer*erH function call. +6 default GSetup 3ill c8ec, for e*er6 0C" or DLL if
t8is function call is implemented and 'na)le t8e <C'5C<( Ser+er C8ec,+ox
accordin$l6.
5o disa)le t8is automatic test do t8e follo3in$D
1. 2i$8tClic, t8e H!ilesH 5ree=ie3 pane.
2. Select t8e H2e$ister .sH menu.
#. Clic, t8e H.uto 5est 0C"<C0- Ser*erH menu.
T)0
56peLi)rar6 files need to )e re$istered under &indo3s.
1se t8is option to instruct GSetup to perform t8is operation automaticall6 durin$
/nstallation.
56peLi)rar6 files are files 3it8 t8e follo3in$ extensionsD T.5L+.
Font
!ont files need to )e re$istered under &indo3s.
1se t8is option to instruct GSetup to perform t8is operation automaticall6 durin$
/nstallation.
!ont files are files 3it8 t8e follo3in$ extensionsD T.55!I T.!0I T.!05I T.!5.
8i!es 23
.=*T #sse,bly
Some .'5 .ssemlies M.dllN files need to )e re$istered under .'5.
1suall6 6ou perform t8e re$istration manuall6 usin$ t8e command line pro$ram
2e$.sm.exeI 38ic8 comes 3it8 t8e .'5 !rame3or, installation.
1se t8is option to instruct GSetup to perform t8is operation automaticall6 durin$
/nstallation.
File )ttributes
ormall6 38en GSetup copies files durin$ installation it clears all attri)utes of t8e copied
files.
1se t8is option to set an6 com)ination of t8e follo3in$ attri)utesD
2ead 0nl6.
Hidden.
.rc8i*e.
S6stem.
=<T* K '*er6 file t8at is mar,ed as 2ead0nl6 )6 t8e Setup pro$ramI &/LL +'
2'-0='D durin$ 1n/nstall. files t8at 3ill )e mar,ed manuall6 )6 t8e user &/LL 05 +'
2'-0='DI and t8e 1n/nstall pro$ram 3ill issue a correspondin$ messa$e.
"xclude From
GSetup can create setup deli*er6 t8at 3ill update automaticall6 from t8e /nternet. 5o learn
more a)out t8is concept $o to t8e H.uto 1pdateH pa$e.
%eg"lar Set"p
.n6 file or director6 mar,ed 3it8 t8is C8ec,+ox 3ill 05 )e included in a 2e$ular Setup.
#"to 2p1ate
.n6 file or director6 mar,ed 3it8 t8is C8ec,+ox 3ill 05 )e included in an .uto 1pdate
Setup.
2n&nstall
.n6 file mar,ed 3it8 t8is C8ec,+ox 3ill 05 )e 1n/nstalled durin$ t8e 1n/nstall process.
Lou must also ma,e sure t8at an6 of t8e directories t8is file is included in is 05 mar,ed
asD
LF<%C* %e,o+e Directory D"ring 2n&nstallL.
-$M -3M (*M =TM 2EM 'PM 2E3M 9ista
.n6 file or director6 mar,ed 3it8 an6 of t8ese C8ec,+oxes 3ill 05 )e installed 38en
installation is carried out on t8e rele*ant operatin$ s6stem.
SF' File
.n6 file or director6 mar,ed 3it8 t8is C8ec,+ox 3ill 05 )e included in t8e Self 'xtract
MS!"N file produced durin$ compilation. !or more information on =on SF' !iles $oto t8e
HProjectH pa$e.
?Clr #ll@ Clic, t8is )utton to clear all H'xclude !rom S!" !ileH mar,s in 6our project.
Partial Set"p
H'xclude !rom Partial SetupH is onl6 rele*ant if 6ou create a Setup on CDI and mar, t8e
HSetup 56peH option in t8e HDialo$sH pa$e as HCD SetupH. !or more information on HCD
SetupH $oto t8e HDialo$sH pa$e.
.n6 file or director6 mar,ed 3it8 t8is option 3ill 05 )e included in t8e HPartial SetupH
38en t8e user selects t8is option durin$ installation.
H'xclude !rom Partial SetupH is onl6 rele*ant for files t8at are mar,ed as H'xclude !rom
S!" !ileH.
8i!es 30
&(P<%T#=T
&8en 6ou mar, a director6 3it8 an6 of t8e a)o*e mentioned s3itc8esI t8is settin$ 3ill
influence also t8e content M!iles and Su)DirectoriesN of t8is director6
+#er.rite File
1sin$ t8is option 6ou can decide 38at t8e setup pro$ram 3ill do 38en an old file is a)out
to )e replaced )6 a ne3 one.
58e follo3in$ options are a*aila)leD
Fol1er Defa"lt K 1se t8e settin$ as defined for t8e current folder.
#lways K 58e ne3 file 3ill al3a6s o*er3rite t8e old file.
File is Sa,e or =ewer K 58e ne3 file 3ill o*er3rite t8e old one onl6 if it is ne3er
or same.
File is =ewer K 58e ne3 file 3ill o*er3rite t8e old one onl6 if it is ne3er.
=e+er K 58e ne3 file 3ill ne*er o*er3rite t8e old one.
&(P<%T#=T
58e H0*er3rite !ileH polic6 ma6 )e defined in # placesD
1. Per !ile.
2. Per !older.
#. . $lo)al definition on t8e HS3itc8esH pa$e.
HPer !ileH 8as first priorit6.
/f HPer !ileH is set to H!older DefaultH t8en HPer !olderH is used.
/f HPer !olderH is set to HSetup DefaultH t8en t8e H>lo)alH definition is used.
=ote K GSetup 3ill attempt to compare t8e t3o files )ased on t8e file *ersion. /f *ersion
stamp cannot )e found in t8e filesI comparison 3ill )e made )ased on Date 7 5ime of
t8e files.
ToolTip
ormall6 all files and directories in t8e 5ree=ie3 displa6 3ill )e la)eled in 0)#CE color.
'*er6 file or director6 t8at 8as an6 of its attri)ute set 3ill )e la)eled 3it8 0)2* color.
'*er6 file t8at 3as added to t8e list usin$ t8e HDependenc6 C8ec,H mec8anism 3ill )e
la)eled 3it8 %*D color.
&8en 6ou mo*e t8e mouse pointer o*er a 0)2* or %*D la)eled file or director6I a tooltip
3ill appear under t8e mouse pointer. 58is tooltip 3ill include a list of all t8e attri)utes t8at
3ere set for t8is file or director6.
'odif$ Dri#e To
58is option is useful 38en 6ou need to mo*e 6our source files to anot8er dri*e.
Perform t8e follo3in$ seEuence of operationsD
Hi$8li$8t all t8e files 6ou 3ant t8eir dri*e to )e modified.
2i$8tClic, one of t8e selected files.
Clic, t8e H-odif6 Dri*e 5oH item in t8e menu.
Select t8e ne3 dri*e.
.ll t8e selected files 3ill 8a*e t8eir dri*e modified accordin$l6.
&(P<%T#=T
.ll t8e selected files must reside on t8e same dri*e.
58e pro$ram 3ill not c8ec, if t8e files are actuall6 a*aila)le on t8e ne3 dri*e.
8i!es 31
Find / -eplace
58is option is useful 38en 6ou need to modif6 t8e P.5H of 6our source files.
5o open t8e H!ind 7 2eplaceH dialo$I 2i$8tClic, t8e !iles 5ree=ie3 and select H!ind 7
2eplaceH.
'nter t8e Pat8 to !ind in t8e first 'dit+ox.
'nter t8e 2eplacement in t8e second 'dit+ox.
Clic, t8e ?%eplace@ )utton.
Lou can set t8e Scope of files to )e modified )6 selectin$D
>lo)al.
Selected Lines.
Current Line.
Lou can define 38at lines 3ill )e replacedD
.l3a6s K 2eplace all lines t8at matc8es t8e HPat8 to !indH definition.
0nl6 38en ne3 file exists K 58e line 3ill )e replaced onl6 if actual file exists in t8e
ne3 pat8.
2n1o
1se t8e ?2n1o@ )utton to restore t8e files to its status )efore t8e replacement.
'*er6 clic, 3ill ta,e 6ou one step )ac,.
58e undo option is *alid onl6 as lon$ as 6ou did not close t8e H!ind 7 2eplaceH dialo$.
Find
58is option is useful 38en 6ou need to searc8 for a speciifc file or pat8 in t8e files list.
5o open t8e H!indH dialo$I 2i$8tClic, t8e !iles 5ree=ie3 and select H!indH.
Pat0 )lias
58e Pat8 .lias concept 3ill 8elp 6ou 38en 6ou need to pro*ide a setup 3it8 similar
structure )ut different set of filesI or 38en 6ou constantl6 need to mo*e 6our de*elopment
en*ironment amon$ se*eral computers in 6our net3or,.
5o use t8e HPat8 .liasH option C8ec, t8e Pat #lias C8ec,+ox at t8e )ottom<ri$8t of t8e
H!ilesH pa$e.
&8en HPat8 .liasH is c8ec,ed a special Panel 3ill appear at t8e )ottom of t8e H!ilesH
pa$e.
0n t8is panel 6ou 3ill find # Com)o+oxes mar,ed as HP#T8I1KI HP#T8I2K 7
HP#T8I3K.
/n eac8 Com)o+ox 6ou can set a different director6 pat8 usin$ t8e O.dd...P )utton.
o3 6ou can enter t8e alias HP#T8I1K into an6 pat8 of 6our source files and at Compile
time t8is alias 3ill )e replaced 3it8 t8e content of t8e HP#T8I1K Com)o+ox.
*'#(P)*
LetJs sa6 t8at 6our project include t8e follo3in$ 2 filesD HSimple5est.exeH 7 HSer*ice.dllH.
Lou alternati*el6 de*elop 6our project from 8ome and from t8e office.
8i!es 32
.t 8ome t8e files are located atD
CD;Pro$rams;5est;Simple5est.exe
CD;Pro$rams;5est;Ser*ice.dll
/n t8e office t8e files are located atD
!D;De*elopment;5ools;5est;Simple5est.exe
!D;De*elopment;5ools;5est;Ser*ice.dll
5o ta,e ad*anta$e of t8e Pat #lias optionI 6ou 3ill set t8e pat8 to t8e 2 files as
follo3sD
@P.5HA1C;5est;Simple5est.exe
@P.5HA1C;5est;Ser*ice.dll
&8en 6ou are 3or,in$ from 8ome 6ou 3ill set HP#T8I1K toD HCD;Pro$ramsH.
&8en 6ou are 3or,in$ from t8e office 6ou 3ill set HP#T8I1K toD
H!D;De*elopment;5oolsH.
&(P<%T#=T
58e onl6 3a6 to add @P.5HABC to an existin$ pat8 is )6 usin$ t8e H!ind 7 2eplaceH
option.
5o start H!ind 7 2eplaceHI 8i$8li$8t t8e rele*ant filesI 2i$8tClic, t8e files and select
H!ind 7 2eplaceH.
<ter Files
&8en creatin$ a setup 6ou mi$8t need to appl6 HPat8 .liasH also to t8e follo3in$ filesD
/ma$e 7 -usic files on t8e HDispla6H pa$e.
License 2eadme 7 /ma$e file on t8e HDialo$sH pa$e.
Ser*ice files on t8e H'xecuteH pa$e.
/ma$e 7 5ext files on t8e H+ill)oardH pa$e.
5o appl6 t8e proper HPat8 .liasH 6ou 3ill eit8er need to modif6 t8e text manuall6 or
8i$8li$8t t8e rele*ant lines in a List=ie3I 2i$8tClic, and select H!ind 7 2eplaceH.
Co,,an1line Para,eters
Lou can also start t8e composer 3it8 a commandKline simmilar to t8e follo3in$D
<P.5HA1Q"D;-6Pat8
58is 3ill force P.5HA1 to )e "D;-6Pat8.
58e same applies also for <P.5HA2 and <P.5HA#.
33
Dialos
58e Setup pro$ram is actuall6 a 3i9ard t8at contains se*eral dialo$sI 3it8 eac8 dialo$
8andlin$ anot8er aspect of t8e Setup process. 1se t8is pa$e to select 38at Dialo$s t8e user
3ill encounter durin$ t8e Setup process. 58e order of t8e Dialo$s in t8e list is also t8e order
of t8eir appearance.
Clic, t8e ?Sow Dialog@ )utton to see t8e selected dialo$.
<r1er of Dialogs
58e order of t8e Dialo$s in t8e list is also t8e order of t8eir appearance in t8e Setup
pro$ram. Lou can c8an$e t8e order of t8e dialo$s )6 usin$ Dra$7Drop operation or )6
usin$ t8e .rro3 )uttons.
2i$8t Clic, t8e Dialo$s list and select %estore Defa"lt <r1er to restore t8e ori$inal
order of t8e dialo$s.
=ote 4 /t is 6our responsi)ilit6 to ma,e sure t8at t8e ne3 order does ma,e senseI donJt
put t8e HDestinationH dialo$ after t8e HCop6 !ilesH dialo$ etc...
#11 &,age
Clic, t8is )utton to add a uniEue /ma$e to t8e selected dialo$.
58e recommended maximum si9e of t8e )itmap isD
ClassicD Hei$8tQ2(6I &idt8Q124.
-odernD Hei$8tQ#47I &idt8Q164 for t8e Lar$e /ma$e K Hei$8tQ(2I &idt8Q(2
for t8e Small /ma$e.
58e ima$e must )e of a +itmap t6pe MT.+-PN.
Lou can add t8e same ima$e to se*eral dialo$s.
Lou donJt need to add t8e )itmap file to t8e files listI t8e Composer 3ill add it
automaticall6.
%e,o+e &,age
Clic, t8is )utton to remo*e t8e ima$e from t8e selected dialo$.
58e selected dialo$ 3ill use t8e default ima$e as defined in t8e HDispla6H pa$e.
)icense #gree,ent Te/t File
/f 6ou select t8e HLicenseH dialo$I 6ou must pro*ide text for t8is dialo$. 58e text must
)e supplied in t8e form of a pure .SC// text file Mot 1/C0D'N or 2ic85ext file M.25!N.
'nter 8ere t8e full pat8 of t8e source text file.
=ote K /f 6ou 3ant t8is file to )e ,ept on t8e tar$et computer after installationI 6ou must
add it to t8e installation files list also.
%ea1,e Te/t File J1
/f 6ou select t8e H2eadmeH dialo$I 6ou must pro*ide text for t8is dialo$. 58e text must
)e supplied in t8e form of a pure .SC// text file Mot 1/C0D'N or 2ic85ext file M.25!N.
'nter 8ere t8e full pat8 of t8e source text file.
=ote K /f 6ou 3ant t8is file to )e ,ept on t8e tar$et computer after installationI 6ou must
add it to t8e installation files list also.
Dia!o-s 3'
%ea1,e Te/t File J2
/f 6ou select HPropose to Displa6 2eadme file B2 after /nstallationH 6ou must pro*ide
text for t8is dialo$. 58e text must )e supplied in t8e form of a pure .SC// text file Mot
1/C0D'N or 2ic85ext file M.25!N. 'nter 8ere t8e full pat8 of t8e source text file.
=ote K /f 6ou 3ant t8is file to )e ,ept on t8e tar$et computer after installationI 6ou must
add it to t8e installation files list also.
2se =otepa1
ormall6 GSetup 3ill displa6 2ead-e file B2 in a 3indo3 of its o3n. Lou can
instruct GSetup to use otepad for t8is purpose )6 c8ec,in$ t8e H1se otepadH
c8ec,)ox. /f t8e file 6ou are pro*idin$ is an 25! file t8en &ordPad or &in&ord 3ill
pro)a)l6 )e used.
Space %e;"ire1 on Dri+e C(0D
GSetup 3ill displa6 on t8e HDestinationH dialo$ t8e space reEuired on t8e destination
dri*e. GSetup calculates t8is data )6 readin$ t8e si9e of t8e files to )e installed. /f 6our
installation also includes files t8at are copied usin$ commands from t8e H'xecutionH
Pa$eI t8en GSetup 3ill not )e a)le to calculate t8eir si9e. /n suc8 a case 6ou 3ill 8a*e
to do t8e calculation manuall6. &8en enterin$ t8e data 6ou must set it in -e$a+6tes.
!elcome Dialo
Sow reco,,en1ation to Close all Progra,s
-ost &indo3s setup pro$ramsI displa6s a recommendation to close all pro$rams
)efore proceedin$ 3it8 t8e /nstallation process. &e )elie*e t8is is not al3a6s
necessar6I especiall6 not for simple installations. /f 6ou feel t8is recommendation is
necessar6I C8ec, t8e Sow reco,,en1ation to Close all Progra,s C8ec,)ox.
Sow #1ware Disclai,er
/f 6ou are usin$ .d*ertisement tec8nolo$6 o*er t8e /nternetI C8ec, t8is option to )rin$
t8is fact to t8e attention of 6our customers.
Sow Copyrigt >arning
.lmost all setup pro$rams displa6 a standard Copyrigt >arning on t8e &elcome
dialo$. Ho3e*er if 6our installation does not include cop6ri$8ted materialI 6ou can 8ide
t8is 3arnin$ )6 1nC8ec,in$ t8is option.
,ser *nformation Dialo
/n t8is dialo$ t8e user 3ill )e prompted to enter t8e follo3in$ dataD
1ser ame.
1ser Compan6 ame.
Soft3are Serial um)er.
58e information 3ill )e stored )6 t8e Setup pro$ram in t8e re$istr6 under t8e follo3in$
,e6D
H:'LAL0C.LA-.CH/';Soft3are;@Compan6C;@.ppameC;@=ersionC
1sin$ t8e follo3in$ =alue amesD
ame.
Compan6.
Serial.
Dia!o-s 3(
%e;"est 2ser =a,e
C8ec, t8is item so t8at t8e user 3ill )e prompted to enter 8is name durin$ installation.
%e;"est Co,pany =a,e
C8ec, t8is item so t8at t8e user 3ill )e prompted to enter 8is compan6 name durin$
installation.
%e;"est Serial =",ber
C8ec, t8is item so t8at t8e user 3ill )e prompted to enter t8e Serial num)er of t8e
soft3are durin$ installation.
=<T* K .t least one of t8e # items must )e c8ec,ed.
(an1atory
'ac8 one of t8e a)o*e # items ma6 )e c8ec,ed as H-andator6H. &8en H-andator6H is
c8ec,ed t8e user 3ill 8a*e to enter a *alue in t8e rele*ant field )efore proceedin$.
Fro, PC <nly
H1ser ameH and HCompan6 ameH ma6 )e c8ec,ed as H!rom PC 0nl6H.
&8en t8is option is c8ec,ed t8e rele*ant name 3ill )e read from t8e PC lea*in$ t8e
user no option to alter it durin$ t8e setup process.
C0ec&in for Serial Number
Lou 8a*e # options a*aila)le to c8ec, t8e *alidit6 of t8e Serial um)er entered )6 6our
customer.
1. Pro*ide a DLL t8at 3ill perform t8e c8ec,.
2. 'm)ed in 6our Setup pro$ram one or more predefined num)ers.
#. 5o,eni9ed serial num)er.
Serial Cec6 D)) File
'nter 8ere t8e full pat8 of 6our DLL.
. sample of t8e code reEuired for t8e DLL is found at t8e end of t8is 8elp pa$eI or in
t8e director6D Sa,pleD))s located under t8e GSetup director6.
1se t8e ?Test D))...@ )utton to test 6our DLL.
Pre1efine1 Serial =",berCsD
/f 6ou select t8e option of predefined num)ersI 6ou can use an6 com)ination of
c8aractersI numeral and punctuation mar,s K except for t8e N mar,.
/f 6ou 3ant to enter more t8en one predefined num)er 6ou must use t8e N si$n as
delimiterD
t8e lineD abc123Ntony2...N'J67F K 3ill 6ield # serial num)ersD
1. abc123
2. tony2...
3. 'J67F
&(P<%T#=T 4 !or added securit6 t8e Predefined num)ers are stored in 6our re$istr6I
not t8e GSP file.
Dia!o-s 3)
To&eni1ed Serial Number
58e idea )e8ind t8is option is to pro*ide 6our customer 3it8 a serial num)er 38ic8 is
)ased on a secret 5o,en pro*ided )6 6ouI and a H1ser ameH and<or HCompan6 ameH
pro*ided )6 6our customer. 58is 3a6 6ou can pro*ide e*er6 one of 6our customers 3it8 a
uniEue HSerial um)erH.
Select t8is option and enter a to,en of se*eral c8aracters. -a,e sure 6ou ,eep t8is to,en
in secret. Later on 38en a customer )u6s 6our soft3areI as, 8im to send 6ou K )6 'mail or
an6 ot8er means K 8is H1ser ameH and HCompan6 ameH.
&8en 6ou recei*e t8is informationI clic, t8e ?Create...@ )utton to open t8e HCreate Serial
um)erH dialo$.
'nter in t8is dialo$ t8e H1ser ameH and HCompan6 ameH 6ou just recei*ed and clic,
?Create Serial =o.@.
58e pro$ram 3ill create a uniEue serial num)er M+ased on t8e H1ser ameHI HCompan6
ameH and t8e 5o,enN.
Send t8e ne3 HSerial um)erH to 6our customer K )6 'mail or an6 ot8er means K so t8at
8e can complete t8e installation process.
&8en creatin$ a serial num)er 6ou can select t8e follo3in$ optionsD
Gro"p )e+el
Select 8ere HLe*elK1H.. HLe*elK8H or HoKLe*elH.
!or more information on t8is option read a)out &ncl"1e Gro"p in Set"p by Serial
=",ber le+el in t8e H!ilesH pa$e.
Caracters
Di$its 0nl6 K 58e num)er 3ill include 0LL di$its.
5ext 0nl6 K 58e num)er 3ill include 0LL 1ppercase 'n$lis8 c8aracters.
5ext X Di$its K 58e num)er 3ill include Di$its and 1ppercase 'n$lis8
c8aracters.
)engt
Set t8e len$t8 of t8e serial num)er M6 to #4 c8aractersN.
#11 8ypens
/f t8is option is c8ec,ed t8en 86p8ens 3ill )e added to t8e serial num)er e*er6 # or %
c8aracters. H6p8ens are not counted in t8e )engt of t8e Serial um)er.
Case Sensiti+e
/f t8is option is 05 c8ec,ed t8en t8e pro$ram 3ill i$nore t8e case 38en enterin$
H1ser ameH and HCompan6 ameH. &e recommend t8at 6ou lea*e t8is option
1nC8ec,ed.
Copy to Clipboar1
&8en t8is option is c8ec,ed t8en as 6ou clic, t8e ?Create Serial =o.@ )uttonI t8e
pro$ram 3ill place t8e ne3l6 created Serial um)er in t8e clip)oard. >oto 6our 'mail
pro$ram and paste t8e ne3 num)er directl6 to t8e 'mail messa$e 6ou are a)out to
send to 6our customer.
&(P<%T#=T
&8en 6ou create a serial num)er 6ou must use t8e S.-' 5o,en 6ou used
38en 6ou created t8e Setup deli*er6.
!or added securit6 t8e 5o,en is stored in 6our re$istr6I not t8e GSP file.
Dia!o-s 3+
Setup T$pe Dialo
/n t8is dialo$ t8e user 3ill 8a*e t8e option to select one of 2<# Setup 56pes.
56pical.
Compact.
Custom M0ptionalN.
Sow Co,pact Set"p #lso
C8ec, t8is C8ec,)ox if 6ou 3ant t8e user to 8a*e t8e option to perform Compact
installation.
=ote 4 !or t8is s3itc8 to )e rele*ant 6ou must mar, onl6 some of t8e >roups as
included in compact installation.
CD Set"p
58is option is rele*ant if 6ou create a setup t8at 3ill )e distri)uted on a CD.
/f HCD SetupH is c8ec,edI t8e user 3ill 8a*e t8e option to select one of 2 Setup 56pesD
Co,plete K 58e entire pro$ram 3ill )e copied from t8e CD and installed on t8e
Hard Dis,.
Partial K 0nl6 some files 3ill )e copied from t8e CD to t8e Hard Dis, durin$
installation. 58e user 3ill 8a*e to insert t8e CD to t8e CDKDri*e e*er6 time 8e
runs t8e pro$ram. 58e files t8at are not copied are t8ose mar,ed as H'xclude
!rom Partial SetupH on t8e H!ilesH pa$e.
Force Partial set"p
C8ec, t8is option if 6ou create a HCD SetupH and 6ou 3ant it to )e installed as HPartialH
K o Selection )6 t8e user.

Cop$ Files Dialo
58is dialo$ is for displa6 onl6. /t 3ill s8o3 up durin$ t8e cop6 files sta$e of t8e installationI
and displa6 t8e names of t8e files and a pro$ress )ar t8at reflects t8e pro$ress of t8e
cop6 process.
/f 6ou define a +ill)oard t8en t8is dialo$ 3ill )e replaced 3it8 a small pro$ress )ar at t8e
)ottom of t8e screen.
/f 6ou unc8ec, t8is dialo$I t8e cop6 process 3ill )e performed 3it8out t8e displa6 of t8is
dialo$I Mt8is option ma6 )e reasona)le if 6ou install *er6 fe3 filesN.
Sow Progress 0ar J2
1suall6 GSetup displa6s onl6 one pro$ress )ar durin$ t8e H!ile Cop6H process.
58is Pro$ress +ar merel6 counts t8e files as t8e6 are copied.
Lou ma6 add anot8er Pro$ress +ar )6 c8ec,in$ t8e Sow Progress 0ar J2 C8ec,+ox.
58e second Pro$ress +ar is used for indication of t8e Cop6 Process of e*er6 indi*idual
file.
&e su$$est t8at 6ou add t8is Pro$ress +ar onl6 if 6ou deli*er ='2L L.2>' files in 6our
setup.

Perfor, Silent Set"p
&8en t8is option is c8ec,edI t8e Setup pro$ram 3ill run 3it8out inter*ention of t8e user.
58e Setup pro$ram 3ill s,ip all t8e first pa$esI $o strai$8t to t8e HCop6 !ilesH dialo$I
perform t8e installation and close.
Lou can ac8ie*e t8e same effect )6 unc8ec,in$ all t8e dialo$s except t8e HCop6 !ilesH
dialo$.
Lou can ac8ie*e t8e same effect )6 addin$ 5silent parameter on t8e commandKline of t8e
setup pro$ram.
Dia!o-s 32
*nable Cancel 0"tton
C8ec, t8is option if 6ou 3ant to $i*e t8e end user t8e option to a)ort a HSilent SetupH.
Perfor, 8i11en Set"p
&8en t8is option is c8ec,edI t8e Setup pro$ram 3ill run completel6 in t8e )ac,$roundI
presentin$ no dialo$ durin$ t8e process.
Lou can ac8ie*e t8e same effect )6 addin$ 5i1e parameter on t8e commandKline of t8e
setup pro$ram.
&(P<%T#=T
5silent 7 5i1e 3ill 8a*e no effect if t8e H1ser /nformationH dialo$ is selected.
Complete Dialo
Propose to %estart te Co,p"ter after &nstallation
C8ec, t8is option if 6ou 3ant t8e user to restart 8is PC after /nstallation. Setup 3ill as, t8e
user for confirmation.
F<%C* K /f t8is option is c8ec,edI setup 3ill al3a6s restart t8e PC K no Euestions
as,ed.
&(P<%T#=T K /f setup fails to cop6 one or more filesI setup 3ill mar, t8em for later
cop6 and prompt t8e user to restart 8is PC K e*en if t8is c8ec,)ox is not c8ec,ed.
Propose to )a"nc te #pplication after &nstallation
C8ec, t8is option if 6ou 3ant t8e user to launc8 t8e 5ar$et 'xecuta)le ri$8t after
/nstallation. Setup 3ill as, t8e user for confirmation.
C8*CE*D K C8ec, t8is option to set t8e default status of t8e rele*ant c8ec,)ox to
cec6e1.
Propose to Display %ea1,e file J2 after &nstallation
C8ec, t8is option to displa6 a readme file after installation. Setup 3ill as, t8e user for
confirmation.
C8*CE*D K C8ec, t8is option to set t8e default status of t8e rele*ant c8ec,)ox to cec6e1.
Serial C0ec& DLL File
/f 6ou 3ant 6our customers to enter a serial num)er durin$ installationI 6ou must pro*ide a
special DLL or H.cti*e" DLLH to c8ec, t8e *alidit6 of t8e entered serial num)er.
Sample code for t8e DLL can )e found in t8e director6 Sa,pleD))s under t8e GSetup
director6.
58e DLL or H.cti*e" DLLH must export t3o functions 3it8 t8e follo3in$ protot6peD
C2C33 Code4
""(eclspec)(llexport* i+t ""c(ecl ,etDllVersio+)*
""(eclspec)(llexport* i+t ""c(ecl ,et-eri&lO.)/0$D 0+(1 ch&r2
-eri&l1 ch&r2 3ser1 ch&r2 Comp&+y*
Pascal Code4
f'+ctio+ ,etDllVersio+: i+te!er4 c(ecl4
f'+ctio+ ,et-eri&lO.)0+(: /0$D4 -eri&l13ser1Comp&+y: 5Ch&r*:
i+te!er4 c(ecl4
Dia!o-s 33
5isual %asic Code4
5'6lic F'+ctio+ ,etDllVersio+)* 7s 8+te!er
5'6lic F'+ctio+ ,et-eri&lO.)0+( 7s Lo+!1 -eri&l 7s -tri+!1 3ser 7s
-tri+!1 Comp&+y 7s -tri+!* 7s 8+te!er
C6 Code4
p'6lic i+t ,etDllVersio+)*
p'6lic i+t ,et-eri&lO.)i+t 0+(1 stri+! -eri&l1 stri+! 3ser1 stri+!
Comp&+y*
5%.N"T Code4
5'6lic F'+ctio+ ,etDllVersio+)* 7s 8+te!er
,et-eri&lO.)9yV&l 0+( 7s 8+te!er1 9yV&l -eri&l 7s -tri+!1 9yV&l
3ser 7s -tri+!1 9yV&l
Comp&+y 7s -tri+!* 7s 8+te!er
58e return *alue of t8e first function must )e 1.
58e return *alue of t8e second function must )e . if t8e test failed or 1 if t8e test
succeeded.
Sa,ple C5COO Co1e for te D)) CCo,pile1 wit 9is"al COO 6D
:i+cl'(e "st(&fx.h"
:i+cl'(e ;stri+!.h<
exter+ "C" =
""(eclspec)(llexport* i+t ""c(ecl ,etDllVersio+)*
=
ret'r+ 4
>
>
exter+ "C" =
""(eclspec)(llexport* i+t ""c(ecl ,et-eri&lO.)/0$D 0+(1 ch&r2 -eri&l1
ch&r2 3ser1 ch&r2 Comp&+y*
=
if )strcmp)"?@A"1-eri&l*%%#*
ret'r+ 4
else
ret'r+ #4
>
>
Sa,ple C5COO Co1e for te D)) MCompiled 3it8 +orland CXX +uilderN
:i+cl'(e ;stri+!.h<
""(eclspec)(llexport* i+t ""c(ecl ,etDllVersio+)*
=
ret'r+ 4
>
""(eclspec)(llexport* i+t ""c(ecl ,et-eri&lO.)/0$D 0+(1 ch&r2 -eri&l1
ch&r2 3ser1 ch&r2 Comp&+y*
=
if )strcmp)"?@A"1-eri&l*%%#*
ret'r+ 4
else
ret'r+ #4
>
Dia!o-s '0
Sa,ple P#SC#) Co1e for te D)) MCompiled 3it8 D'LPH/ 6 7 D'LPH/ 7N
li6r&ry -eri&lChecB4
'ses
0i+(oCs1-ys3tils4
f'+ctio+ ,etDllVersio+: i+te!er4 c(ecl4
6e!i+
Res'lt:%
e+(4
f'+ctio+ ,et-eri&lO.)0+(: /0$D4 -eri&l13ser1Comp&+y: 5Ch&r*: i+te!er4
c(ecl4
6e!i+
if )-trComp)D?@AD1-eri&l*%#* the+
Res'lt:%
else
Res'lt:%#4
e+(4
exports
,etDllVersio+1
,et-eri&lO.4
6e!i+
e+(.
Sa,ple L9is"al 0asicL Co1e for te L#cti+e' D))L MCompiled 3it8 =+6N
VER-8O$ .# CL7--
9E,8$
M'lti3se % E DFr'e
5ersist&6le % # D$ot5ersist&6le
D&t&9i+(i+!9eh&Gior % # DG6$o+e
D&t&-o'rce9eh&Gior % # DG6$o+e
MF-Fr&+s&ctio+Mo(e % # D$ot7+MF-O6Hect
E$D
7ttri6'te V9"$&me % "-eri&lChecB"
7ttri6'te V9",lo6&l$&me-p&ce % F&lse
7ttri6'te V9"Cre&t&6le % Fr'e
7ttri6'te V9"5re(ecl&re(8( % F&lse
7ttri6'te V9"Expose( % Fr'e
5'6lic F'+ctio+ ,etDllVersio+)* 7s 8+te!er
,etDllVersio+ %
E+( F'+ctio+
5'6lic F'+ctio+ ,et-eri&lO.)0+( 7s Lo+!1 -eri&l 7s -tri+!1 3ser 7s
-tri+!1 Comp&+y 7s -tri+!* 7s 8+te!er
8f )-eri&l % "?@A"* Fhe+
,et-eri&lO. %
Else
,et-eri&lO. % #
E+( 8f
E+( F'+ctio+
&(P<%T#=T =ote for 90 Progra,,ers
58e =+Aame attri)ute -1S5 +'D HSerialC8ec,H.
!or instructions on 8o3 to compile t8e =+ code please read t8e file
HHo35oCompileSamples.txtH found in t8e =+ director6.
Dia!o-s '1
Sa,ple CJ Co1e for te D)) CCo,pile1 wit 9SD
'si+! -ystem4
'si+! -ystem.R'+time.8+terop-erGices4
+&mesp&ce I-et'p
=
JCl&ss8+terf&ce)Cl&ss8+terf&ceFype.7'toD'&l*K
p'6lic cl&ss -eri&lChecB
=
//EEEEEEEEEEE ,etDllVersio+ EEEEEEEEEEE
p'6lic i+t ,etDllVersio+)*
=
ret'r+ 4
>

p'6lic i+t ,et-eri&lO.)i+t 0+(1 stri+! -eri&l1 stri+! 3ser1
stri+! Comp&+y*
=
if )-eri&l %% "?@A"*
ret'r+ 4 // O. E -eri&l $'m6er is correct.
else
ret'r+ #4 // F&il're E -eri&l $'m6er is Cro+!.
>
>
>
Sa,ple 90.=*T Co1e for te D)) CCo,pile1 wit 9SD
8mports -ystem
8mports -ystem.Di&!+ostics
8mports -ystem.R'+time.8+terop-erGices
$&mesp&ce I-et'p
5'6lic Cl&ss -eri&lChecB
5'6lic F'+ctio+ ,etDllVersio+)* 7s 8+te!er
,etDllVersio+ %
E+( F'+ctio+
5'6lic F'+ctio+ ,et-eri&lO.)9yV&l 0+( 7s 8+te!er1 9yV&l -eri&l
7s -tri+!1 9yV&l 3ser 7s -tri+!1 9yV&l Comp&+y 7s -tri+!* 7s 8+te!er
8f )-eri&l % "?@A"* Fhe+
,et-eri&lO. %
Else
,et-eri&lO. % #
E+( 8f
E+( F'+ctio+
E+( Cl&ss
E+( $&mesp&ce
'2
S.itc0es
+peratin S$stems
Select t8e operatin$ s6stems 6our pro$ram 3as desi$ned to 3or, 3it8.
Startin$ from *ersion 14.4.4.4 GSetup supports t8e follo3in$ operatin$ s6stemsD
324bitA 9(I98I -'I 5I 2:I 2:#I "PI =istaI &in7.
6!4bitA "P.6%I =ista.6%I &in7.6%.
Create 6!4bit Set"p
58e s3itc8 HCreate 6%K)it SetupH controls t8e #2<6%K)it setup state.
&8en t8is s3itc8 is unc8ec,ed MdefaultN a setup produced 3it8 GSetup can )e installed
as a #2K)it application on all t8e supported #2K)it operatin$ s6stems.
&8en t8is s3itc8 is c8ec,ed t8e setup produced )6 GSetup can )e installed onl6 on a
6%K)it operatin$ s6stem.
58e setup state can )e c8an$ed at setup time usin$ t8e follo3in$ H'xecuteH
commandsD
Set 6% +it State.
Set #2 +it State.
2estore 0ri$inal Setup State.
1sin$ t8ese H'xecuteH commands a #2K)it setup can access 6%K)it resources and *iceK
*ersa.
-eister as )pplication
!ollo3in$ -icrosoft recommendationsI e*er6 application s8ould re$ister itself under
&indo3s )6 addin$ t8e follo3in$ 2 ,e6s to t8e re$istr6D
H:'LAL0C.LA-.CH/';Soft3are;Compan6ame;Pro$ramame
H:'LAL0C.LA-.CH/';Soft3are;-icrosoft;&indo3s;Current=ersion;.pp
Pat8s;Pro$'xe
/f 6ou suppl6 a *er6 simple application or 6ou just suppl6 a collection of data files Mima$esI
documents etc...N 6ou can refrain from addin$ t8ose ,e6s to t8e re$istr6 )6 1nC8ec,in$
H2e$ister as .pplicationH C8ec,+ox.
-eister project in t0e H7L'(Soft.are branc0
+6 default e*er6 project 3ill add t8e follo3in$ ,e6 to t8e re$istr6D

H:'LAL0C.LA-.CH/';Soft3are;Compan6ame;Pro$ramame

/n t8is ,e6 t8e follo3in$ *alues 3ill )e 3rittenD
=ersion
Pro$ame
/nstallDir
1n/nstallStrin$

Lou can use t8is option to dia)le t8is operationI 8o3e*er 3e recommend t8at 6ou 3ill
lea*e t8is option ena)led at all times.
Switches '3
Create Setup.lo File
/f t8is option is c8ec,ed t8en t8e Setup pro$ram 3ill create a lo$ file 3it8 t8e name
HSetup.lo$H durin$ t8e installation process. 58e file 3ill )e stored in t8e .pplication !older.
"xtract Files
2eEuest Confirmation )efore 'xtract
&8en t8is option is c8ec,ed t8en 6our customer 3ill )e presented 3it8 a special messa$e
)ox ri$8t after startin$ t8e setup file. 58is messa$e )ox 3ill displa6 information a)out t8e
free space a*aila)le on t8e 5'-P dri*e and t8e space reEuired for extractin$ t8e setup
file. Lour customer 3ill also 8a*e t8e c8ance to a)ort t8e installation at t8is earl6 sta$e.
Sow #cti+ity 0ar
58is option is important if 6ou pro*ide a *er6 lar$e setup t8at 3ill ta,e lon$ time to extract.
&8en t8is option is c8ec,ed a small additional pro$ress )ar 3ill )e displa6ed on t8e
'xtraction Dialo$. 58is )ar 3ill pro*ide a )etter acti*it6 indication.
Pre#ious *nstallation
&f pre+io"s installation fo"n1 tenA
C8ec, t8is option if 6ou 3ant to perform certain operations on a pre*ious installation
)efore t8e actual Setup process starts.
Select one of t8e follo3in$ optionsD
2n&nstall before set"p starts
GSetup 3ill uninstall a pre*ious installation of t8e current project.
58is option is *alid onl6 if 6our setup 3as compiled 3it8 HCreate .utomatic
1n/nstallH c8ec,ed.
(o1e
Lou can select from # options on 8o3 to perform t8is specific 1n/nstallD
ormal K 58e 1n/nstall 3ill execute in normal fas8ion displa6in$ t8e
1n/nstall dialo$ and promptin$ t8e user to clic, t8e rele*ant )uttons.
Silent K Displa6 t8e 1n/nstall dialo$ )ut donJt 3ait for an6 user input.
Hidden K Perform t8e 1n/nstall in t8e )ac,$round no dialo$ and no user
input.
58e -0D' settin$ 8ere 3ill o*erride an6 settin$ 6ou do for normal 1n/nstall.
Confir, Contin"e Set"p
GSetup 3ill displa6 a confirmation messa$e as,in$ t8e user to confirm installation
of t8e ne3 *ersion. 58e user 3ill 8a*e t8e option to Confirm or to Den6.
&nfor, an1 Contin"e Set"p
GSetup 3ill displa6 an attention messa$eI reportin$ t8e user t8at 8e is a)out to
up$rade an old *ersion. 58e user 3ill not 8a*e t8e option to stop t8e installation.
&nfor, an1 #bort Set"p
GSetup 3ill displa6 an attention messa$eI reportin$ t8e user t8at an older *ersion
is installed and t8e installation process 3ill a)ort.
Switches ''
P"st #bort Set"p
GSetup 3ill a)ort t8e installation no messa$e issued.
-unnin "xecutable
/t is al3a6s recommended to stop t8e runnin$ pro$ram )efore attemptin$ Setup or
1n1install.
Test for %"nning */ec"table before &nstallation
Lour customer ma6 attempt to /nstall t8e pro$ram for t8e second time o*er a pre*iousl6
installed cop6.
5H/S /S . P'2!'C5LL L'>.L .55'-P5.
Ho3e*erI it is recommended t8at t8e old executa)le is 05 runnin$ durin$ t8e
process.
/f 6ou c8ec, t8is option t8en t8e setup pro$ram 3ill c8ec, at t8e start of t8e installation
if t8e old executa)le is runnin$ and issue a 3arnin$ messa$e promptin$ 6our customer
to close t8e pro$ram.
58is option is *alid onl6 if t8e H2e$ister as .pplicationH option is c8ec,ed.
Test for %"nning */ec"table before 2n&nstall
/f 6ou c8ec, t8is option t8en t8e 1n/nstall pro$ram 3ill c8ec, at t8e start of t8e
1n/nstall process if t8e old executa)le is runnin$ and issue a 3arnin$ messa$e
promptin$ 6our customer to close t8e pro$ram.
-un2-un+nce
2un0nce K /f 6ou c8ec, t8is option t8e pro$ram 3ill run automaticall6 t8e next time 6our
customer 3ill re)oot 8is PC.
2un K /f 6ou c8ec, t8is option t8e pro$ram 3ill run automaticall6 e*er6 time 6our
customer 3ill re)oot 8is PC.
NT 2 8999 2 XP 2 899: 2 5ista 2 !in;
5KClass mac8ines M5I 2444I "PI 244#I =istaI &in7N uses t8e concept of 2e$ularK1ser
*s. .dministrator. 1suall6 under an 5 -ac8ine a 2e$ularK1ser 8as limited ri$8ts
compared to an .dministrator. /n essence a 2e$ularK1ser 8as limited access to t8e
re$istr6 and to t8e file s6stem. ConseEuentl6 it is recommended t8at onl6 .dministrators
3ill /nstall<1n/nstall soft3are on an 5KClass mac8ine.
Test for #1,inistrator %igt before &nstallation
&8en t8is C8ec,+ox is C8ec,edI GSetup 3ill perform a c8ec, for .dministrator ri$8ts
at t8e *er6 )e$innin$ of t8e Setup process.
/f 6ou suppl6 a *er6 simple application or some data filesI 6ou ma6 1nC8ec, t8is
C8ec,+ox and let a 2e$ularK1ser install 6our files to an 5KClass mac8ine.
GSetup is desi$ned to proceed 3it8 t8e installation e*en if some re$istr6 entries 38ere
not 3ritten properl6I 8o3e*er GSetup 3ill a)ort t8e installation if a failure occurred
durin$ creation of a ne3 director6.
Test for #1,inistrator %igt before 2n&nstall
&8en t8is C8ec,+ox is C8ec,edI GSetup 3ill perform a c8ec, for .dministrator ri$8ts
at t8e *er6 )e$innin$ of t8e 1n/nstall process.
Switches '(
&gnore #1,inistrator test on 9ista
=ista $rants .dministrator ri$8ts to e*er6 user durin$ setupI so t8ere is no need to
perform t8e a)o*e t3o tests 38en 6our setup is runnin$ on =ista.
&8en t8is option is c8ec,edI .dministrator tests on =ista 3ill al3a6s return true.
#llow F"ll #ccess to #ll 2sers
58e 5KClass operatin$ s6stem 8as t8e a)ilit6 to limit user access to files and
directories. 1suall6 an administrator can control t8e access usin$ t8e commandKline
pro$ram C.CLS.'"'.
Lou can use t8is option to ma,e sure t8at all users 8a*e !1LL .ccess to all t8e files
and directories t8at t8e Setup pro$ram 8as installed.
0f course to perform t8is operation t8e person 38o runs t8e setup pro$ram must 8a*e
administrator ri$8t.
&(P<%T#=T 4 H.llo3 !ull .ccessH is 05 a*aila)le in t8e L/5' =ersion.
+#er.rite Files
58is s3itc8 3ill determine 8o3 t8e Setup pro$ram 3ill )e8a*e 38en it attempts to
o*er3rite a file durin$ installation.
58e follo3in$ options are a*aila)leD
1. #lways K 58e ne3 file 3ill al3a6s o*er3rite t8e old file.
2. >en file is =ewer or Sa,e K 58e ne3 file 3ill o*er3rite t8e old one onl6 if it is
ne3er or same.
#. >en file is =ewer K 58e ne3 file 3ill o*er3rite t8e old one onl6 if it is ne3er.
%. =e+er K 58e ne3 file 3ill ne*er o*er3rite t8e old one.
=ote K 58is $lo)al definition ma6 )e o*erridden indi*iduall6 )6 an6 !older and<or )6 an6
file.
=ote 4 GSetup 3ill attempt to compare t8e t3o files )ased on t8e file *ersion. /f *ersion
stamp cannot )e found in t8e filesI comparison 3ill )e made )ased on Date 7 5ime of t8e
files.
)utorun
58e .utorun option is needed if 6ou plan to pro*ide 6our setup on a CD.
Create #"tor"n.inf File
&8en t8is option is c8ec,ed a file )6 t8e name Hautorun.infH 3ill )e created 38en 6ou
compile t8e setup. 58e file 3ill )e placed in t8e Project director6 alon$ 3it8 6our Setup
file. /f 6ou cop6 t8is file and t8e Setup file to t8e 2005 of t8e CD t8en t8e setup
pro$ram 3ill start automaticall6 38en t8e user insert t8e CD into t8e dri*e.
Perfor, #"tor"n Test
&8en t8is option is c8ec,ed t8e .utorun option 3ill 3or, onl6 as lon$ as t8e pro$ram
3as not installed 6et. 0nce t8e user installed t8e pro$ramI su)seEuent insertions of t8e
CD 3ill not start t8e setup procedure. &8en t8is option is c8ec,edI a small pro$ram )6
t8e name #"to%"nTest.e/e 3ill )e added to t8e project director6. Lou must cop6 t8is
file also to t8e 2005 of t8e CD to$et8er 3it8 t8e #"tor"n.inf file and t8e setup file.
Start #pplication if #lrea1y &nstalle1
&8en t8is option is c8ec,ed t8e .utorun option 3ill prompt t8e user to start t8e
application 38en 8e<s8e inserts t8e CD into t8e dri*e and t8e pro$ram is alread6
installed.
Switches ')
.N"T Frame.or&
Test for .=*T Fra,ewor6 before &nstallation
1se t8is s3itc8 to test for t8e existence of .=*T Fra,ewor6 on t8e tar$et mac8ine. /f
.=*T Fra,ewor6 is not found t8e setup pro$ram 3ill issue a correspondin$ messa$e
and a)ort.
Lou can perform a similar test also from t8e H'xecuteH pa$e.
&nstall .=*T Fra,ewor6
1se t8is option if 6ou 3ant to install .'5 frame3or, durin$ t8e setup.
Specif6 8ere t8e full pat8 of t8e D05'5!".'"' file.
/f 6ou are installin$ .'5 !rame3or, #.4 t8en 6ou can enter 8ere t8e full pat8 ofD
D05'5!"#S'51P.'"'.
58is setup file from -icrosoft is onl6 2.8 -+ in si9e and it 3ill do3nload and install t8e
entire frame3or, directl6 from -icrosoft 3e)site.
&nstall .=*T Fra,ewor6 fro, te &nternet
1se t8is option if 6ou 3ant to install .'5 frame3or, from t8e /nternet durin$ t8e setup.
Specif6 8ere t8e 12L to do3nload t8e D05'5!".'"' file from.
GSetup 3ill do3nload t8e file usin$ H55P Protocol.
'xampleD ttpA55www.,icrosoft.co,51ownloa151otnetf/.e/e.
?9erify 2%)@
Clic, t8is )utton to *erif6 t8at t8e 12L 6ou specified for t8e D05'5!".'"' file is
correct.
%e;"ire1 9ersion &s &n
Select 8ere 38at .'5 !rame3or, *ersions 6ou 3ant to test for )efore installation.
!or instructions on 8o3 to install .'5 !rame3or, usin$ t8e H'xecute 'n$ineH read t8e
follo3in$ lin,D
333.pantara6.com<8o3to.8tmlB8o3toK441
'+
S0ortcuts
1se t8is pa$e to define S8ortcuts and lin,s to 6our pro$ramI to )e installed on t8e tar$et
computer.
&(P<%T#=T 4 !or s8ortcuts to 3or, properel6 3e recommend t8at 6ou define a H5ar$et
'xecuta)leH on t8e H!ilesH pa$e.
Start2Proram 'enu S0ortcut
58is is t8e main lin, to 6our pro$ram. 58is lin, is accessi)le to t8e user )6 clic,in$ t8e
HStartH )utton found on t8e &indo3s 5as,)ar and t8en selectin$ t8e HPro$ramH menu.
(ain Sortc"t Fol1er
58e name 6ou enter 8ere 3ill )e t8e name as appears on t8e Pro$ram menu.
ormall6 6ou 3ill enter 8ere t8e HPro$ram Descripti*e ameH as 6ou entered in t8e
HProjectH pa$e.
/f 6ou 3ant 6our menu entr6 to include su)menu add a +ac,slas8 and t8en t8e name of
t8e su)menu.
*/a,ple 4 H-icrosoft;&ord for &indo3sH.
#11 (ain Sortc"t
58e main s8ortcut is normall6 t8e one t8at start t8e 5ar$et 'xecuta)le. /f 6ou do not
suppl6 an executa)le as 6our main file 6ou ma6 1nC8ec, t8is option.
Sortc"t =a,e
58e name 6ou enter 8ere 3ill )e t8e menu item t8at 3ill actuall6 launc8 t8e pro$ram 38en
t8e user clic,s it.
*/a,ple 4 H&ord 2444H.
Para,eters
'nter 8ere t8e commandKline parameters if reEuired.
>or6 Dir
'nter 8ere t8e tar$et 3or,in$ director6. 1se t8e H+ro3seH )utton to select t8e reEuired
director6.
%"n
Select 8ere t8e 3a6 t8e pro$ram 3ill start 38en clic,in$ t8e s8ortcut.
58e options areD Hormal &indo3HI H-aximi9edHI H-inimi9edH.
&con File
-ost '"' pro$rams include internal icon. 1se t8is entr6 if 6ou install files t8at do not
include an icon or 6ou 3ant 6our pro$ram to )e identified )6 anot8er icon. 58e file 6ou
specif6 8ere must first )e added to t8e $eneral files list on t8e H!ilesH pa$e. Lou can
specif6 8ere an6 of t8e follo3in$ !ileK56pesD .*'*I .D))I .&C<.
&con =",ber
/con files ma6 include more t8en one icon. 58e icons are num)ered from 9ero and up.
Specif6 8ere t8e num)er of t8e icon 6ou select.
Shortcuts '2
+t0er Start2Proram S0ortcut *tems
Lou ma6 add more S8ortcut items li,e H'LP or ot8er ser*ices.
S8ortcut items ma6 )e added to t8e Pro$ram menu or ot8er locations.
Clic, ?#11...@ and t8en
'nter a descripti*e name to t8e ser*ice in t8e Sortc"t =a,e field.
Select t8e S8ortcut locationD
Pro$ram -enu
Des,top
Start -enu
Startup
Send 5o
Guic, Launc8
-6 Documents
/f HPro$ram -enuH is selected t8en enter t8e folder name in t8e Sortc"t Fol1er field.
'nter t8e name of t8e !ile or !older associated 3it8 t8is ser*ice in t8e File52%)5Fol1er
field.
1se t8e )ro3se )utton to select a !ile or a !older from t8e H!ilesH list.
0f course 6ou must include t8e associated file 3it8 t8e installation files.
&nternet Sortc"t
Lou can create a S8ortcut to an /nternet 12L )6 specif6in$ a *alid 12L in t8e
File52%)5Fol1er field.
. *alid 12L must start 3it8 an6 of t8e follo3in$ strin$ c8aractersD
8ttpD
8ttpsD
ftpD
mailtoD
333.
8ot6ey
Lou ma6 add Hot,e6 to 6our s8ortcut.
C8ec, t8e 8ot6ey c8ec,)ox and select t8e ,e6 com)ination.
%e,o+e Sortc"t D"ring 2n&nstall
/f 6ou lea*e t8is option 1nC8ec,ed t8en t8e S8ortcut 3ill not )e remo*ed durin$
1n/nstall.
&ncl"1e in <perating Syste,s
Select #ll to add t8e s8ortcut to all t8e operatin$ s6stemsI or select onl6 t8e reEuired
ones.
*/cl"1e Fro,
58is option is usefull if 6ou are creatin$ a CDKSetup.
1sin$ t8is option 6ou can exclude a s8ortcut from HComplete SetupHI HPartail SetupH or
)ot8.
Shortcuts '3
+t0er S0ortcuts
&indo3s offer some ot8er t6pe of s8ortcuts.
Lou ma6 offer 6our customers t8e option to add an6 or all of t8ese s8ortcuts.
/f t8e HC8ec,edH C8ec,+ox is c8ec,ed K t8e rele*ant s8ortcutI as seen )6 6our customerI
3ill )e c8ec,ed )6 default.
Start (en"
58e s8ortcut name 6ou enter 8ere 3ill appear in t8e upper part of t8e HStartH menu.
ormall6 6ou 3ill enter 8ere t8e HPro$ram Descripti*e ameH as 6ou entered in t8e
HProjectH pa$e.
Des6top
58e s8ortcut name 6ou enter 8ere 3ill appear on t8e HDes,topH.
ormall6 6ou 3ill enter 8ere t8e HPro$ram Descripti*e ameH as 6ou entered in t8e
HProjectH pa$e.
Sen1 To
58e s8ortcut name 6ou enter 8ere 3ill appear on t8e HSend5oH popup menu in *arious
&indo3s applications.
ormall6 6ou 3ill enter 8ere t8e HPro$ram Descripti*e ameH as 6ou entered in t8e
HProjectH pa$e.
Start2p
58e s8ortcut name 6ou enter 8ere 3ill appear on t8e HStart1pH menuI and 3ill run at PC
Startup.
ormall6 6ou 3ill enter 8ere t8e HPro$ram Descripti*e ameH as 6ou entered in t8e
HProjectH pa$e.
7"ic6 )a"nc
58e s8ortcut name 6ou enter 8ere 3ill appear on t8e HGuic, Launc8H )ar.
ormall6 6ou 3ill enter 8ere t8e HPro$ram Descripti*e ameH as 6ou entered in t8e
HProjectH pa$e.
Lanuae Support
Clic, t8e )utton ?)ang"age S"pport...@ to open a special HS8ortcut Lan$ua$e SupportH
dialo$.
1sin$ t8is dialo$ 6ou can translate all t8e HS8ortcut amesH 7 HS8ortcut !older amesH to
e*er6 lan$ua$e 6ou 3ant to support in 6our setup.
1sin$ t8is dialo$ 6ou can also select !iles or 12Ls per lan$ua$eI t8us 6ou can for
instance create 3e)pa$es in se*eral lan$ua$es and call t8e appropriate pa$e accordin$
to t8e setup lan$ua$e.
S0ortcuts are )#ailable for
58is option is useful for 5 Class computersI t8at 8a*e t8e option to lo$in different users
3it8 different pri*ile$es. &it8 t8is option 6ou can select if t8e pro$ram 3ill )e a*aila)le
onl6 for t8e user 38o installed it or for all users of t8e said computer.
/f t8e user 38o installs t8e pro$ram does not 8a*e .dministrator ri$8tsI t8en all t8e
s8ortcuts 3ill )e a*aila)le for t8e HCurrent 1ser 0nl6H.
&(P<%T#=T
5o properel6 test 6our multilin$ual setup 6ou must adjust 6our operatin$ s6stem
to t8e lan$ua$e under test.
!or more info read t8e follo3in$ lin,D 333.pantara6.com<lan$ua$e.8tmlBtestin$.
Shortcuts (0
Selecte1 by *n1 2ser
/f 6ou c8ec, t8is option t8en 6our customer 3ill 8a*e t8e option to select s8ortcuts
a*aila)ili6 durin$ setup time.
,n*nstall
#11 2n&nstall Sortc"t
/f 6ou c8ec, t8is C8ec,)oxI t8e setup pro$ram 3ill add an H1n/nstallation S8ortcutH to t8e
Start<Pro$ram menu. !or t8is item to )e acti*eI 6ou must c8ec, t8e HCreate .utomatic
1n/nstallH C8ec,)ox in t8e HS3itc8esH pa$e.
Force %e,o+e (ain Sortc"t Fol1er
ormall6 t8e 1n/nstall pro$ram 3ill attempt to remo*e t8e main s8ortcut folder.
/f t8e user 8as added manuall6 some more s8ortcuts to t8is !olderI or anot8er installation
pro$ram 8as placed s8ortcuts in t8e same !olderI t8e !older 3ill 05 )e remo*ed durin$
1n/nstall.
Lou can !02C' t8e 1n/nstall pro$ram to remo*e t8is folder )6 c8ec,in$ t8is option.
(1
)ssociate
/n t8is pa$e 6ou 3ill define .ssociations )et3een !iles of certain t6pe and 6our .pplication.
'*er6 time 6ou dou)leKclic, an associated file from t8e &indo3s file mana$er K &indo3s 3ill
launc8 6our application and instruct it to open t8e file 6ou selectedI )6 transferrin$ its name
on t8e command line.
5o add .ssociation item clic, t8e ?#11 &te,@ )utton.
58e H.dd .ssociation /temH dialo$ 3ill appear. /n t8is dialo$ 6ou 3ill enter t8e follo3in$ itemsD
#ssociation =a,eA
'*er6 .ssociation item must 8a*e a uniEue name. 58is name is onl6 used internall6 )6
&indo3s.
Sa,pleA H&ordDocH
File DescriptionA
58is 3ill )e t8e description of t8e file as appears in t8e file mana$er under t8e H56peH
column.
Sa,pleA H-icrosoft &ord DocumentH
File */tensionA
58is is t8e extension of t8e files K includin$ t8e leadin$ period.
Sa,pleA H.docH
Progra, Descripti+e =a,eA
. descripti*e name of t8e pro$ram t8at is associated 3it8 t8is fileI and 3ill )e launc8ed
38en 6ou dou)leKclic, a file of t8is t6pe.
Sa,pleA H&ord for &indo3sH
Progra, PatA
58e full pat8 of t8e associated pro$ram. aturall6 t8is must )e a pro$ram t8at 6ou pro*ide
3it8 t8e installation deli*er6.
Clic, t8e ?0rowse...@ )utton to select t8e pro$ram.
Sa,pleA H@.pplication !olderC;-icrosoft 0ffice;0ffice;&/&02D.'"'H
&con PatA
+6 pro*idin$ an /con definition 6ou 3ill instruct &indo3s to displa6 t8is /con alon$ 3it8 t8e
said file t6pe.
Lou ma6 enter 8ere a file name 3it8 an6 of t8e follo3in$ extensionsD .*'*M .D))M .&C<.
aturall6 t8is file must )e pro*ided 3it8 t8e installation deli*er6.
Clic, t8e ?0rowse..@ )utton to select it.
Sa,pleA H@.pplication !olderC;-icrosoft 0ffice;0ffice;&/&02D.'"'H
&con =",berA
'"' files and DLL files ma6 include more t8en one /con. 58e icons are num)ered from
9ero and up. Specif6 8ere t8e num)er of t8e /con 6ou select.
*nable
.fter 6ou 8a*e defined an .ssociation /tem Lou can disa)le its operation )6 1nC8ec,in$
t8e 'na)le C8ec,)ox. . disa)led item 3ill not )e executed durin$ Setup or 1n/nstall
process.
5ssociate (2
+pen !it0
>at is <pen >it:
1sin$ 0pen&it8 6ou can $i*e 6our customers t8e option to open a file in 6our
application in a controlled manner 3it8out re$ular association.
Sa6 6ou de*eloped an editor called HSuper'ditH t8at can 8andle .H5-L and .D0C files.
o3 6ou can associate H5-L and D0C files 3it8 6our editorI )ut t8en e*er6 time t8e
user 3ill dou)le clic, an H5-L or D0C file t8e6 3ill open in 6our editor K rat8er t8en t8e
+ro3ser or &in&ordI 38ic8 are t8e natural applications for H5-L and D0C files.
/f 6ou associate H5-L and D0C files 3it8 6our editor usin$ 0pen&it8I t8en e*er6 time
t8e user 3ill 2i$8tClic, an H5-L file or a D0C file 8e 3ill see in t8e Context menu an
entr6 similar to t8is oneD H0pen &it8 Super'ditH. Selectin$ t8is entr6 3ill open t8e file in
6our editor.
5o associate 6our application usin$ 0pen&it8 enter t8e follo3in$ data itemsD
=a,eA
'nter 8ere a simple name li,e HSuper'ditH. 58is name is onl6 used internall6 )6 t8e
re$istr6. Select a name t8at is )elie*ed to )e uniEue in t8e re$istr6.
(en" Te/tA
'nter 8ere t8e text t8at 3ill appear in t8e context menu. 58e text can )e somet8in$ li,e
H0pen &it8 Super'ditH or H'dit &it8 Super'ditH.
*/tensionsA
'nter 8ere t8e list of extensions t8at s8ould )e associated 3it8 6our application usin$ t8e
0pen&it8 option. 1se comma MIN to separate t8e extensions. !or our example t8e list 3ill
loo, li,e t8isD
H5-LIH5-ID0C
(3
-eistr$
/n t8is pa$e 6ou 3ill define :e6s and =alues t8at 3ill )e added to t8e s6stem 2e$istr6 durin$
Setup and<or remo*ed from t8e s6stem 2e$istr6 durin$ 1n/nstall.
)dd -eistr$ *tem
5o add a 2e$istr6 item clic, t8e ?#11 &te,@ )utton.
&8en addin$ a 2e$istr6 item 6ou 3ill need to enter t8e follo3in$ dataD
%oot
Select an6 of t8e follo3in$D
H:'LACL.SS'SA2005
H:'LAC122'5A1S'2
H:'LAL0C.LA-.CH/'
H:'LA1S'2S
H:'LAC122'5AC0!/>
Eey
'nter a re$istr6 ,e6 in a form similar to t8e follo3in$D
Soft3are;-6Compan6;-6.pplication
9al"e =a,e
'nter t8e name of t8e data item
9al"e Type
&8en enterin$ *alue 6ou can use one of t8e follo3in$ ( *alue t6pesD
Strin$ K M2'>ASRN
'nter an6 text.
/nte$er K M2'>AD&02DN
'nter a strin$ t8at represents a positi*e inte$er and include onl6 t8e follo3in$
c8aractersD ...-
Hex K M2'>A+/.2LN
'nter a *alue in t8e follo3in$ formatD !!I44I48I12I1. K 58is strin$ represents (
)6tes 3it8 t8e follo3in$ *aluesD 2((I4I8I18I26. 58ere is no limit on t8e num)er of
)6tes t8at ma6 )e entered in t8is 3a6.
-ultiStrin$ K M2'>A-1L5/ASRN
'nter a seEuence of se*eral strin$s delimited 3it8 t8e alias @4C. &8en 3ritin$ t8e
data to t8e re$istr6I GSetup 3ill modif6 t8e alias @4C to c8arM4N.
@4C is )uilt of # c8aractersD Less58en X Rero X >reater58en.
'xpandStrin$ K M2'>A'"P.DASRN
'nter a strin$ t8at ma6 include en*ironment to,ens li,e YP.5HY or Y5'-PY or
YS6stem2ootY.
Later on 38en t8ose strin$s are read from t8e re$istr6 t8e s6stem 3ill
automaticall6 replace t8e to,ens 3it8 actual data from t8e en*ironment.
Re-istry ('
9al"e
'nter 8ere t8e actual *alue data. 58e 3a6 6ou enter t8e data depends on t8e 9al"e Type.
D"ring Set"p
ormall6 6ou 3ill set t8is option to Create. 38ic8 means create t8is 2e$istr6 :e6<=alue
durin$ Setup.
Lou ma6 also specif6 8ere Create if not */ist. 38ic8 means create t8is 2e$istr6 ,e6
durin$ Setup K onl6 if suc8 a :e6<=alue does not alread6 exist on t8e PC.
D"ring 2n&nstall
ormall6 6ou 3ill set t8is option to one of t8e follo3in$D
%e,o+e Eey 4 38ic8 means remo*e t8is 2e$istr6 ,e6 durin$ 1n/nstall.
%e,o+e 9al"e 4 38ic8 means remo*e t8is 2e$istr6 *alue durin$ 1n/nstall.

*nable
.fter 6ou 8a*e defined a 2e$istr6 /tem Lou can disa)le its operation )6 1nC8ec,in$ t8e
'na)le C8ec,)ox. . disa)led item 3ill not )e executed durin$ Setup or 1n/nstall process.
*mport -e File
. *er6 effecti*e 3a6 to add re$istr6 :e6s 7 =alues to 6our setup is )6 importin$ t8em from
a T.2'> file.
5o create T.2'> files do t8e follo3in$D
0pen 2'>'D/5.
Hi$8li$8t one or se*eral ,e6s 6ou 3ant to export.
!rom t8e H2e$istr6H -enu select H'xport 2e$istr6 !ile...H
'nter a file name and Clic, HSa*eH.
5o /mport t8e T.2'> file clic, t8e ?&,port %eg File@ )utton and select t8e file.
.ll t8e exported ,e6s 3ill )e added to 6our setup.
*nstall -e File
.not8er *er6 effecti*e 3a6 to add re$istr6 :e6s 7 =alues to 6our setup is )6 installin$ a
complete T.2'> file.
Clic, t8e ?#11 &te,@ )utton and select t8e re$istr6 file 6ou 3ant to install.
&(P<%T#=T K a re$ file can not )e uninstalled.
((
*niFile
/n t8is pa$e 6ou 3ill define =alues t8at 3ill )e added to an // file durin$ Setup and<or
2emo*ed from t8e // file durin$ 1n/nstall.
)dd *niFile *tem
5o add an // file =alue item clic, t8e ?#11 &te,@ )utton.
File =a,e
Clic, t8e O+ro3se...P )utton to define t8e file name of t8e // file.
Section =a,e
'nter t8e Section name.
9al"e =a,e
'nter t8e =alue name.
Data
'nter t8e *alus Data.
D"ring Set"p
ormall6 6ou 3ill set t8is option to Create. 38ic8 means create t8is /ni!ile item durin$
Setup.
D"ring 2n&nstall
ormall6 6ou 3ill set t8is option to %e,o+e or &gnore.
*nable
.fter 6ou 8a*e defined an // file /tem Lou can disa)le its operation )6 1nC8ec,in$ t8e
'na)le C8ec,)ox. . disa)led item 3ill not )e executed durin$ Setup or 1n/nstall process.
()
X'L
/n t8is pa$e 6ou 3ill define =alues t8at 3ill )e added<remo*ed to<from an "-L file durin$
Setup and<or 1n/nstall.
)dd X'L *tem
5o add an "-L item clic, t8e ?#11 &te,@ )utton.
File =a,eA
Clic, t8e O+ro3se...P )utton to define t8e file name of t8e "-L file.
',l =o1e PatA
Define t8e full pat8 of t8e node 6ou 3ant 8andle startin$ from t8e root node.
58e elements of t8e pat8 must )e separated 3it8 a dot M.N.
9al"eA
'nter t8e *alue 6ou 3ant to set for t8e node..
Sa,pleA
ode Pat8D order.address./P
=alueD 127.4.4.1
3ill 6ield t8e follo3in$ "-L structure in 6our fileD
@orderC
@addressC
@/PC127.4.41@</PC
@<addressC
@<orderC
D"ring Set"p
ormall6 6ou 3ill set t8is option to Create 9al"e. 38ic8 means create t8is "-L item
durin$ Setup.
D"ring 2n&nstall
ormall6 6ou 3ill set t8is option to *rase 9al"e or &gnore.
*nable
.fter 6ou 8a*e defined an "-L /tem 6ou can disa)le its operation )6 1nC8ec,in$ t8e
'na)le C8ec,)ox. . disa)led item 3ill not )e executed durin$ Setup or 1n/nstall process.
Definin an X'L pat0
58e sample or1er.a11ress.&P is a *er6 )asic ode Pat8 sample.
&8en usin$ t8is sample 3it8 t8e commandD Create 9al"e a ne3 pat8 3ill )e created if
not exists or an existin$ *alue 3ill )e updated.
. ne3 "-L file 3ill )e created if not exists.
1"L (+
Te %<<T =o1e
58e 2oot ode Mor1er in t8e a)o*e sampleN can )e replaced 3it8 t8e to,en rootI t8us
t8e ode Pat8D or1er.a11ress.&P is eEu*alent to root.a11ress.&P.
=o1e D"plication
58e "-L standard supports multiple nodes 3it8 t8e same name. /f 6our "-L file
alread6 contains one or more node pat8 3it8 t8e structure of or1er.a11ress.&P and
6ou 3ant to add anot8er node use t8e follo3in$ ode Pat8D
or1er.a11ressMF.&P
58is ode pat8 3ill duplicate t8e node a11ress and add t8e node &P inside t8e
a11ress node.
'() #ttrib"tes
58e "-L standard supports .ttri)utes t8at can )e added to a node.
Sa,pleA
ode Pat8D order.address./PZLocation
=alueD He3 Lor,H
3ill 6ield t8e follo3in$ "-L structure in 6ou fileD
@orderC
@addressC
@/P LocationQHe3 Lor,H<C
@<addressC
@<orderC
&(P<%T#=T
58e H.dd "-L /temH dialo$ contains a O5est...P )utton. Clic, t8is )utton to open a special
testin$ dialo$ 38ere 6ou can test 8o3 6our ne3 definitions are reflected in 6our "-L file.
"xample
;Lxml Gersio+%".#" e+co(i+!%"8-OEMMNOE" L<
;CDCollectio+<
;oC+er &!e%"@?" !e+(er%"m&le"<
;l&st+&me<M'rphy;/l&st+&me<
;first+&me<-teGe;/first+&me<
;&((ress<9ro&(C&y ;/&((ress<
;city<Los 7+!eles;/city<
;pho+e<@ME@AOE?AMN;/pho+e<
;/oC+er<
;CD tr&cBs%"@" rele&se(%"OOM"<
;si+!er !e+(er%"fem&le"<M&(o++&;/si+!er<
;title<R&y of Li!ht;/title<
;/CD<
;CD tr&cBs%"?" rele&se(%"OO@"<
;si+!er !e+(er%"fem&le"<,lori& Estef&+;/si+!er<
;title<Mi Fierr&;/title<
;/CD<
;CD tr&cBs%"#" rele&se(%"OO#"<
;si+!er !e+(er%"fem&le"<,lori& Estef&+;/si+!er<
;title<76rie+(o 5'ert&s;/title<
;/CD<
;CD tr&cBs%"A" rele&se(%"OOP"<
;si+!er !e+(er%"m&le"<Qoe CocBer;/si+!er<
1"L (2
;title<Or!&+ic;/title<
;/CD<
;/CDCollectio+<
%ea1ing te sa,ple
58e follo3in$ ta)le s8o3 a collection of "-L pat8 definitions and t8eir associated
*alues.
'() Pat 9al"e
CDCollection.o3ner.lastname -urp86
root.o3ner.firstname Ste*e
CDCollection.o3nerZa$e #2
root.o3nerZ$ender male
CDCollection.CDI1.title -i 5ierra
root.CDI4.S/>'2 -adona
&(P<%T#=T
"-L pat8 definitions are not case sensiti*e. 58us t8e follo3in$ 2 definitions 3ill )ot8 6ield
t8e *alueD H-adonaH.
root.CDI4.S/>'2
root.CDI4.sin$er
(3
"n#ironment
/n t8is pa$e 6ou 3ill define *aria)les t8at 3ill )e added to t8e 'n*ironment durin$ Setup
and<or 2emo*ed durin$ 1n/nstall.
)dd "n#ironment 5ariable
5o add an 'n*ironment *aria)le clic, t8e ?#11 &te,@ )utton.
Create
1se t8is option to create a ne3 *aria)le. /f a *aria)le 3it8 t8is name alread6 existsI it
3ill )e replaced 3it8 t8e ne3 one.
#ppen1
1se t8is option to add data to an existin$ *aria)le. /f t8e *aria)le does not exist it 3ill
)e created. /f t8e appended data is alread6 found in t8e *aria)le t8e operation 3ill
a)ort.
/f 6ou are appendin$ to t8e P.5H *aria)le t8en GSetup 3ill automaticall6 8andle semiK
colons for 6ou.
%e,o+e
1se t8is option to remo*e an existin$ *aria)le. /f t8e data 3as pre*iousl6 appended t8e
*aria)le 3ill re*ert to its ori$inal status.
Scope
'n*ironment *aria)les ma6 )e added to t8e Syste, or to t8e current 2ser.
=aria)les t8at are added to t8e Syste, are *isi)le to all users.
58is option is *alid onl6 on 5KClass mac8ine.
*nable
.fter 6ou 8a*e defined an 'n*ironment *aria)le /tem Lou can disa)le its operation )6
1nC8ec,in$ t8e 'na)le C8ec,)ox. . disa)led item 3ill not )e executed durin$ Setup
or 1n/nstall process.
5ariable "xpansion
'n*ironment *aria)les ma6 )e expanded )6 usin$ t8e Y si$n.
!or instanceD
/f 6our current P.5H *aria)le isD
C:\WINDOWS;C:\WINDOWS\SYSTEM
.nd 6ou 3rite a ne3 P.5H *aria)le 3it8 t8e follo3in$ *alueD
%PATH%;C:\MyProg
58en t8e final pat8 3ill )eD
C:\WINDOWS;C:\WINDOWS\SYSTEM;C:\MyProg
&e stron$l6 recommend t8at 6ou use #ppen1 instead of */pansion as .ppended
*aria)les can )e safel6 remo*ed durin$ uninstall.
NT #s <X
&8en installin$ on an 5KClass mac8ine M5I 2:I "PI 244#I =istaI &in7N en*ironment
*aria)les are 8andled usin$ t8e re$istr6 and an6 c8an$e 6ou ma,e to t8e en*ironment
effects t8e operatin$ s6stem immediatel6.
&8en installin$ on a 9"KClass mac8ine M9(I 98I -'N en*ironment *aria)les are 8andled
usin$ t8e .150'"'C.+.5 fileI t8us a re)oot is reEuired to effects t8e operatin$ s6stem.
)0
Properties
-ost &indo3s applications include *arious t6pes of resources. ormall6 resources are
added to t8e application )6 t8e compiler 38en 6ou compile 6our application.
1sin$ t8is pa$e 6ou 3ill 8a*e t8e option to define H=ersion /nfoH and H/conH resources for t8e
-edia file t8at t8e HGSetup ComposerH produce for 6ou to send to 6our customers. 58e
information 6ou define 8ere can later )e *ie3ed )6 3atc8in$ t8e 3indo3s $eneric
HPropertiesH dialo$.
&(P<%T#=T
58is pa$e is *alid 0LL if 6ou are runnin$ t8e HGSetup ComposerH on an 5KClass
mac8ine M5I 2444I "PI 244#I =istaI &in7N. Ho3e*er K an6 setup produced 3it8 t8is
option 3ill fait8full6 run on an6 &in#2 mac8ine.
5ersion *nfo
"hen #ersion Info is $ro$erly set% your customer &ill see the correct information &hen he
requests the "'ro$erties 'age" of the (edia file )Right Click on the file from E$lorer*!
DonQt (o1ify 9ersion &nfo
/f 6ou select t8is option t8en t8e ori$inal *ersion infoI 38ic8 3as set in t8e file )6
HPantara6 2esearc8 Ltd.H 3ill )e maintained.
Copy 9ersion &nfo fro, Target */ec"table
/f 6ou select t8is optionI t8e *ersion info of t8e 5ar$et 'xecuta)le 3ill )e copied to t8e
-edia fileI e*er6 time t8e -edia file is compiled.
58is option is *alid onl6 if 6ou selected a 5ar$et file and t8e file is '"' or DLL.
Define 9ersion &nfo (an"ally
Select t8is option to set t8e H=ersion /nfoH manuall6.
?%ea1 &nfo Fro, Target */ec"table@
Clic, t8is )utton )efore 6ou )e$in enterin$ information manuall6. 58is 3ill cop6 t8e data
from t8e tar$et executa)le to t8e list.
58is option is *alid onl6 if 6ou selected a tar$et file and t8e file is '"' or DLL.
*con
1se t8is option to modif6 t8e /con of t8e -edia file.
DonQt (o1ify &con
/f 6ou select t8is option t8en t8e ori$inal iconI 38ic8 3as set in t8e file )6 HPantara6
2esearc8 Ltd.H 3ill )e maintained.
Copy &con fro, Target */ec"table
/f 6ou select t8is optionI t8e /con of t8e 5ar$et 'xecuta)le 3ill )e copied to t8e -edia fileI
e*er6 time t8e -edia file is compiled.
58is option is *alid onl6 if 6ou selected a 5ar$et file and t8e file is '"' or DLL.
Copy &con Fro, oter #pplication5File
1se t8is option to cop6 t8e icon from anot8er '"'I DLL or /C0 file.
)1
"xecute "nine
/n t8is pa$e 6ou 3ill define operations to )e performed durin$ t8e Setup or 1n/nstall process.
58e operations can )e Conditional or 1nConditional. Lou ma6 define sop8isticated
conditions 3it8 up to # rules for eac8 condition. Lou can also select at 38at point of timeI
durin$ Setup or 1n/nstallI eac8 operation 3ill )e performed.
&(P<%T#=T 4 H'xecuteH is a*aila)le onl6 in t8e S51D/0 and P20 =ersions.
)dd "xecute *tem
5o add 'xecution item clic, t8e ?#11 &te,@ )utton.
5o read more clic, .dd 'xecution /tem.
Detailed description of all t8e Condition 7 'xecution commands ma6 )e found atD
333.pantara6.com<execute.8tml
&(P<%T#=T %*C<((*=D#T&<=
&8ene*er 6ou enter a pat8nameI surround t8e entire pat8 3it8 EuotesI t8is is
especiall6 important if 6our pat8 include spaces. &8ene*er possi)le a*oid usin$
pat8names t8at include spaces.
Test
.fter 6ou 8a*e defined an 'xecution /tem 6ou can test it )6 clic,in$ t8e ?Test32 R@ or
?Test6! R@ )uttons.
58e pro$ram 3ill attempt to run t8e 'xecution /tem and displa6 a s8ort lo$ t8at descri)es
t8e results of t8e test.
Please ta,e care 38ile testin$ )ecause t8e pro$ram 3ill attempt to reall6 perform t8e
operation.
.lso 6ou must ta,e into account t8at not all conditions are a*aila)le at t8e time of t8e test.
!or instance @.pplication !olderC is not 6et created.
1se t8e ?Test32 R@ )utton to test execution items t8at s8ould run in a #2K)it setup state.
1se t8e ?Test6! R@ )utton to test execution items t8at s8ould run in a 6%K)it setup state.
Copy5Paste5%ena,e
1se t8e ?Copy@ ?Paste@ 7 ?%ena,e@ )uttons to create one or more duplicates of a
certain 'xecution /tem.
&,port5*/port
1se t8e ?&,port@ 7 ?*/port@ )uttons to store and retrei*e a certain 'xecution /tem
to<from a dis, file.
58e extension of an exported execute item file is T.Espexec.
*nable
.fter 6ou 8a*e defined an 'xecution /tem Lou can disa)le its operation )6 1nC8ec,in$
t8e 'na)le C8ec,)ox. . disa)led item 3ill not )e executed durin$ Setup or 1n/nstall
process.
09ecute 0n-ine )2
Directories
58e execution items are doin$ extensi*e use of different directories found on t8e tar$et
computer.
Detailed explanation a)out t8is su)ject ma6 )e found in HDirectoriesH.
Ser#ice Files
1se Ser+ice Files 38en 6ou need to suppl6 certain files for t8e proper operation of a
certain execution item.
58e files 6ou add to t8is list 3ill )e extracted to t8e 5'-P director6 3it8 all t8e ot8er files
of t8e setup.
Lou ma6 t8en refer to t8ose files usin$ t8e HSrcDirK director6.
&8en setup endsI all Ser*ice !iles 3ill )e erased from t8e 5'-P director6.
2se For 2n&nstall
1se t8is C8ec,+ox to mar, a fileI /f t8is file is needed for 'xecute 0peration durin$
1n/nstall.
&8en a file is mar,ed t8is 3a6I t8e Setup pro$ram 3ill cop6 t8is file from t8e 5'-P
director6 to t8e 5ar$et Director6 durin$ Setup.
"xecution DLL File
&e 8a*e included in t8e pro$ram se*eral predefined Con1itions and se*eral predefined
*/ec"tions.
Ho3e*er if 6ou need a special Condition or 'xecution t8at is not included in t8e pro$ramI
6ou can add it 6ourself )6 includin$ it in a special purpose DLL.
5o read more clic, 'xecution DLL !ile.
)3
%illboard
58e )ill)oard is a special 3indo3 t8at is used to displa6 ima$es and text durin$ t8e HCop6
!ilesH sta$e of t8e installation. 58e )ill)oard can accept a com)ination of an6 of t8e follo3in$
t6pe of filesD
+-P K +itmap files.
&-!K &indo3s -eta files.
'-! K 'n8anced -eta files.
5"5 K .scii 5ext files.
&8en t8e +ill)oard is acti*eI t8e normal dialo$ of t8e Setup pro$ram 3ill disappearI and a
special small cop6 pro$ress )ar 3ill )e displa6ed alon$ 3it8 t8e )ill)oard screen. 58e text
and ima$es 6ou define 3ill displa6 on t8e )ill)oard in a seEuence controlled )6 a special
timer.
Please note t8at 6ou can mix text and ima$es in one session.
General
#11 0illboar1
Lou must C8ec, t8is C8ec,)ox for t8e +ill)oard to )ecome operati*e.
#11...
Clic, t8e ?#11...@ )utton to add fileMsN to t8e +ill)oard.
2p1ate...
Clic, t8e ?2p1ate...@ )utton to update a file in t8e +ill)oard.
Delete...
Clic, t8e ?Delete...@ )utton to delete files from t8e +ill)oard. Lou can also unc8ec, a file to
eliminate it from t8e +ill)oard displa6.
Pre+iew
Clic, t8e ?Pre+iew@ )utton to see a test pre*ie3 of t8e +ill)oard.
#rrows
1se t8e arro3s to set t8e order of t8e files. Lou can also use Dra$ 7 Drop for t8e same
purpose.
Delay CSecD
Set t8e +ill)oard time inter*al. 58e time is counted in Seconds.
#"to SiSe
&8en #"to SiSe is C8ec,ed t8e +ill)oard 3ill automaticall6 adjust its si9e to t8e si9e of
t8e current ima$e.
.uto Si9e 8as no effect 38en text is displa6ed.
3D Fra,e
"hen 3D Frame is Checked the +illboard &ill have a Classic "indo&s ,D frame around it!
Sow all
.i!!%oar6 )'
&8en Sow #ll is C8ec,ed t8e +ill)oard 3ill displa6 all its selected files e*en if t8e Cop6
operation 8as alread6 terminated.
Transparent
&8en Transparent is C8ec,ed t8e +ill)oard 3ill displa6 all +-P files as transparent. 58e
transparent color is al3a6s t8e first pixel on t8e )itmap. Please note t8at on most +itmap
t8e first pixel is t8e first on t8e )ottom lineI on some )itmaps t8e first pixel is t8e first on
t8e top line.
58is C8ec,)ox 8as no effect on &-!I '-! and 5"5 files.
Contin"es
&8en Contin"es is C8ec,ed t8e +ill)oard 3ill 3or, continuousl6. &8en all presentations
are s8o3n and t8e /nstallation is not completed 6etI t8e )ill)oard 3ill start displa6in$ all
t8e presentations from t8e first one.
*nable Cancel 0"tton
1se t8is option to 'na)le<Disa)le t8e OCancelP )utton on t8e +ill)oard pro$ress )ar panel.
Font
Clic, t8e ?Font@ )utton to define t8e follo3in$ !ont attri)utesD ameI Si9eI St6leI Color
and Script. 58is font is used for displa6in$ text.
Frame
>i1t
Set t8e &idt8 of t8e +ill)oard in screen pixels. 58is *alue is i$nored 38en displa6in$
/ma$es and H.uto Si9eH is c8ec,ed.
8eigt
Set t8e Hei$8t of t8e +ill)oard in screen pixels. 58is *alue is i$nored 38en displa6in$
/ma$es and H.uto Si9eH is c8ec,ed.
(argin
Set t8e -ar$in t8at 3ill surround t8e ima$e and t8e text. 58is *alue is i$nored 38en
displa6in$ /ma$es and H.uto Si9eH is 05 c8ec,ed.
)ocation
Clic, t8e ?)ocation@ +utton to define t8e location of t8e +ill)oard.
Select an6 of t8e follo3in$ locationsD
CenterI 5op<LeftI 5op<2i$8tI +ottom<LeftI +ottom<2i$8tI 5op<CenterI +ottom<CenterI
Left<CenterI 2i$8t<Center.
1se t8e D" 7 DL *alues to s8ift t8e +ill)oard 8ori9ontall6 and *erticall6 from t8e ori$inal
location.
.i!!%oar6 )(
%ac&round Color
Here 6ou 3ill define t8e +ac,$round color of t8e +ill)oard.
58e +ac,$round color 3ill 8a*e effect in t8e follo3in$ casesD
&8en displa6in$ text files.
&8en displa6in$ transparent &-! 7 '-! files.
&8en t8e H-ar$inH *alue is set to a non 9ero *alue.
Top Color G 0otto, Color
1se t8ese color settin$s to define t8e color of t8e )ac,$round.
58e setup pro$ram 3ill displa6 a $radient t8at c8an$es from t8e H5op ColorH to t8e
H+ottom ColorH.
/f 6ou prefer a solid color )ac,$roundI unc8ec, t8e H+ottom ColorH C8ec,)ox.
Text Files
GSetup can easil6 displa6 text files on t8e +ill)oard. 58e file must )e a Hpure .SC//
text fileH t8at ma6 )e edited 3it8 05'P.D. 58e font properties of t8e displa6ed text
is defined as descri)ed under H!ontH.
Te/t 8ea1ers
.n6 line in t8e 5ext file t8at starts 3it8 t8e c8aracter T 3ill )e considered as a Header
line and displa6ed in a si9e t8at is t3ice as lar$e as t8e si9e of t8e rest of t8e text.
))
)uto ,pdate
T0e Concept
H.uto 1pdateH is a po3erful concept. 1sin$ t8is option 6ou 3ill )e a)le to 1pdate 6our
customers automaticall6 from t8e /nternetI or from a central file ser*er K 38en e*er 6ou
8a*e a ne3 *ersion of 6our soft3are a*aila)le.
#"to &nfor,
H.uto /nformH 3ill onl6 /nform 6our user a)out a ne3 updateI and prompt 8im to do3nload
t8e ne3 update from t8e internet usin$ t8e )ro3ser.
Auto Inform is described in detail at the end of this document!
&&S Ser+er
/f 6ou are 8ostin$ 6our 3e)site on an //S ser*erI 6ou 3ill 8a*e to set some ne3 -/-'
t6pes for H.uto 1pdateH 7 H.uto /nformH to 3or, properl6. !or more information read t8e
follo3in$ pa$eD 333.pantara6.com<iis.8tml.
&(P<%T#=T 4 H.uto 1pdateH and H.uto /nformH are a*aila)le onl6 in t8e P20 *ersion.
Ho. Does it !or&=
"hen you add -utoU$date o$tion to your setu$% ./etu$ &ill add a small -gent to the /etu$
delivery! 0his -gent is $laced during setu$ in the "-$$lication Folder"!
58e .$ent is installed in suc8 a 3a6 t8at it 3ill run in parallel to 6our pro$ram.
58e .$ent 3ill connect to t8e /nternet from time to time and c8ec, if a ne3 *ersion is
a*aila)le.
/f a ne3 *ersion is foundI t8e .$ent 3ill do3nload it usin$ H55P protocolI and place it in
t8e .pplication director6.
&8en do3nload is completeI t8e .$ent 3ill perform t8e follo3in$ stepsD
/nstruct 6our application to s8ut itself do3n Mif neededN.
'xtract all reEuired files from t8e do3nloaded file.
2un t8e update setup and replace old files 3it8 ne3 ones.
2estart 6our application Mif neededN.
&(P<%T#=T 4 &indo3s does not allo3 to o*er3rite a runnin$ executa)le MT.'"'I T.DLLI
T.0C"I etc...N.
Terms in ,se
<riginal Set"p K 58e )asic setup 6ou distri)ute to 6our customersI compiled 3it8
HGSetup /nstallation SuiteH.
2p1ate Set"p K 58e collection of files t8at 3ill )e deli*ered to 6our customers durin$
t8e .uto 1pdate process.
5uto 7p6ate )+
General
In this area you &ill enter data required for both the "Original /etu$" and the "U$date /etu$"!
&(P<%T#=T 4 Lou -1S5 fill all t8e data items in t8is area )efore 6ou proceed to t8e
ot8er areas.
=a,e of 2PD#T* ProjectA
'nter 8ere a file name 3it8out extension. 58is name 3ill later on )e used to define %
different files. /f 6ou use t8e name HP8one+oo,1pdateH t8en t8e follo3in$ files 3ill )e
producedD
Pone0oo62p1ate.*'* K t8e .uto1pdate .$ent.
Pone0oo62p1ate.<%&G&=#) K . small text file t8at 3ill )e added to t8e 0ri$inal
Setup. 58is file contains information reEuired for t8e .uto 1pdate procedure. 58is
file 3ill )e created 38en 6ou compile t8e 0ri$inal Setup.
Pone0oo62p1ate.&=F< K . small text file t8at 3ill )e added to t8e 1pdate
SetupI 58is file contains information reEuired for t8e .uto 1pdate procedure. 58is
file 3ill )e created 38en 6ou compile t8e 1pdate Setup. 58is file 3ill )e
do3nloaded from t8e /nternet to c8ec, if ne3 update is a*aila)le.
Pone0oo62p1ate.2PD#T* K 58is file 3ill include t8e actual data of t8e updateI
and 3ill also )e do3nloaded from t8e /nternet.
Downloa1 2%) of 2PD#T* Project
58is is t8e 12L 6ou 3ill use to post t8e /!0 file and t8e 1PD.5' file once a ne3 update
is a*aila)le for do3nload.
58is must )e an H55P url.
'xampleD ttpA55www.,icrosoft.co,51ownloa1
58is 12L can )e t8e same one 6ou are usin$ to 8ost 6our 0ri$inal Setup.
Lou can also specif6 8ere a normal director6 pat8. 58is option is useful if 6ou 3ant
to perform .uto 1pdate from a central file ser*er.
Secret To6en
58e secret to,en is a means for added securit6. /t is encr6pted and em)edded in )ot8
t8e 0ri$inal Setup and t8e 1pdate Setup. 1pdate 3ill onl6 ta,e place if t8e HSecret
5o,enH of )ot8 setups matc8.
'nter 8ere an6 text 6ou 3ant.
&(P<%T#=T K for added securit6I t8e Secret 5o,en is stored in 6our re$istr6 K not t8e
GSP file.
5a,e care to store a cop6 of t8e Secret 5o,en in a safe place 38ere 6ou can reco*er itI
in case 6our re$istr6 is dama$ed.
#11 6nown e/tensions to files C&&S Ser+erD
58e //S Ser*er 3ill not allo3 )6 default to do3nload files 3it8 t8e extensions H./!0HI
H.1PD.5'H 7 H./!02-H.
/f 6ou are placin$ 6our files on an //S ser*erI 3e recommend t8at 6ou c8ec, t8is option.
58is option 3ill modif6 t8e extensionD
H./!0H to H./!0.5"5H.
5uto 7p6ate )2
H.1PD.5'H to H.1PD.5'.+/H.
H./!02-H to H./!02-.5"5H.
&(P<%T#=T 4 t8is option s8ould )e used onl6 on ne3l6 created setups.
+riinal Setup
5o ma,e 6our application H.uto 1pdateH or H.uto /nformH ena)led 6ou must plan a8ead. /n
t8is area 6ou 3ill enter t8e information reEuired for 6our application to .uto 1pdate itself
form t8e /nternet in t8e future.
.ll data 6ou enter 8ere 3ill )e stored in t8e 0ri$inal Setup files.
#"to 2p1ate *nable
C8ec, t8is C8ec,+ox to ma,e 6our application H.uto 1pdateH or H.uto /nformH ena)led.
Probe for =ew 2p1ate
Determine 8ere 8o3 often t8e .$ent 3ill test for a ne3 *ersion.
5o reduce /nternet traffic 3e recommend t8at 6ou use HPro)e !reEuenc6H t8at is not less
t8en 1 8our.
/f 6ou select H0nl6 at .$ent StartH t8en t8e .$ent 3ill pro)e onl6 once K just after it 3as
started.
/f 6ou select H'='2H t8en t8e .$ent 3ill '='2 pro)e automaticall6I t8is option is
a*aila)le for .d*anced users. 5o read a)out .d*anced options $o to H.d*anced .uto
1pdateH.
9ersion of <riginal Set"p
Set 8ere a num)er t8at 3ill represent t8e current *ersion of 6our Setup. &e su$$est t8at
6ou start 3it8 C1D.
0nl6 .uto1pdates t8at are mar,ed 3it8 H/>H'2 num)er 3ill )e do3nloaded.
&e use 8ere onl6 P12' num)ers M1I 2I # etc...N for clarit6 and dependa)ilit6.
%e#s6 to 2p1ate after
. user ma6 decline 38en reEuested to confirm .uto 1pdate.
/f 6ou set 8ere a *alue $reater t8en ReroI t8en t8e .$ent 3ill reEuest for permission to
update after t8e set da6s 8a*e passed from t8e pre*ious attempt.
/f 6ou set 8ere a *alue of Rero t8e user 3ill )e prompted to update onl6 0C' for eac8
ne3 update *ersion.
Run -uto U$date -gent at /tartU$
/f 6ou C8ec, t8is option t8en t8e .$ent 3ill start runnin$ as soon as 6our customer )oot
t8eir PC.
.not8er option 3ill )e explained later.
#11 #"to 2p1ate Sortc"t
/f 6ou C8ec, t8is option t8en 6our user 3ill 8a*e t8e option to manuall6 c8ec, for ne3
update from t8e Start<Pro$ram menu.
Set Sortc"t Fol1er
1sin$ t8is option 6ou can specif6 a su)Kfolder in t8e Start<Pro$ram menu to locate t8e
s8ortcut.
5uto 7p6ate )3
Set Sortc"t &con
1sin$ t8is option 6ou can specif6 an icon t8e s8ortcut.
%"n #s #1,inistrator
Since t8e ori$inal setup is al3a6s installed usin$ admin ri$8tI &in7 K in some cases K
ma6 reEuire t8is s8ortcut to )e run 3it8 admin ri$8ts also.
&e stron$l6 reccomend t8at 6ou ,eep t8is option al3a6s c8ec,ed.
Create #"to 2p1ate )og
/f 6ou C8ec, t8is option t8en t8e .$ent 3ill produce a lo$ file t8at 3ill record all a$ent
acti*ities.
58is lo$ 3ill )e located in t8e same director6 38ere t8e .$ent is located.
&e recommend t8at 6ou ena)le t8is option onl6 38en 6ou de)u$ 6our setup.
Time to ,pdate
Se*eral 3ee,s or mont8s 8a*e passed. Lou alread6 8a*e a ne3 *ersion and 6ou 3ant to
.uto1pdate all 6our customers.
58ere are 2 options for creatin$ t8e 1pdate fileD
1se t8e same Setup file t8at 6ou use to distri)ute t8e ne3 *ersion MSin$le file or
Split fileN.
Create an 1PD.5' !ile t8at 3ill )e deli*ered onl6 to 6our old customers.
/n )ot8 cases ma,e sure 6ou increment t8e *alue at H=ersion of 0ri$inal SetupHI so t8at
t8e ne3 update )ecomes 02/>/.L for t8e next future update.
,pdate Setup
&8en 6ou prepare an 1pdate deli*er6I 6ou actuall6 prepare 2 files. .ssumin$ 6our -edia
file 8as t8e name HP8one+oo,SetupH and t8e 1PD.5' Project name is
HP8one+oo,1pdateH t8en t8e follo3in$ files 3ill )e createdD
HP8one+oo,1pdate./!0H K 58is is a small text file t8at 3ill )e do3nloaded first
from t8e /nternet )6 t8e .$ent. +ased on t8e information in t8is fileI t8e .$ent 3ill
decide if t8e ne3 update is rele*ant for furt8er processin$.
58e second file is t8e file t8at includes t8e actual data reEuired for t8e update. !or
description of t8is file read t8e next para$rap8.
Select 2PD#T* File
/n t8is Com)o+ox 6ou 3ill 8a*e t8e option to select one out of # files. .ssumin$ 6our
-edia file 8as t8e name HP8one+oo,SetupH and t8e 1PD.5' Project name is
HP8one+oo,1pdateH t8en 6ou 3ill )e presented 3it8 t8e follo3in$ optionsD
P8one+oo,1pdate.1PD.5'
P8one+oo,Setup.'"'
P8one+oo,Setup.SPL/5
58e first option is a special file t8at 3ill )e created 38en 6ou clic, t8e ?Co,pile@ )utton.
58e second option is t8e re$ular setup file 6ou created to distri)ute 6our ne3 *ersionI
compiled as S/>L' Self'xtract file.
58e t8ird option is t8e re$ular setup file 6ou created to distri)ute 6our ne3 *ersionI
compiled as SPL/5 setup.
Running 'rocess
'nter 8ere t8e name of t8e pro$ram t8at must )e S50PP'D )efore t8e actual update
)e$ins. ormall6 6ou 3ill enter 8ere t8e name of t8e 5ar$et 'xecuta)le.
5uto 7p6ate +0
/f t8ere is no need to s8ut do3n an6 pro$ramI lea*e t8is text empt6.
S"t Down (eto1
Specif6 8ere 8o3 to S8ut Do3n t8e 2unnin$ Process.
58e follo3in$ options are a*aila)leD
DonJt s8ut do3n.
&ait for process to close on its o3n K 58is is $ood for pro$rams t8at are started
and stopped se*eral times e*er6 da6.
/ssue a -essa$e +ox K /n t8is case t8e .$ent 3ill issue a messa$e )ox reEuestin$
t8e user to s8ut do3n t8e application )efore .uto 1pdate starts.
1sin$ &-ACL0S' K t8e .$ent 3ill send &-ACL0S' messa$e to t8e applicationI
orderin$ it to orderl6 s8ut itself do3nI and pro)a)l6 $i*in$ t8e user t8e c8ance to
sa*e all open files )efore s8ut do3n.
1sin$ &-AG1/5 K t8e .$ent 3ill send &-AG1/5 messa$e to t8e applicationI
orderin$ it to s8ut itself do3nI pro)a)l6 $i*in$ t8e user 0 c8ance to sa*e all open
files )efore s8ut do3n.
1sin$ 5erminate Process K 58is is t8e )rute force optionI 58is is t8e met8od
&indo3s is usin$ to force a process to s8ut itself do3n.
%e;"est Confir,ation before Downloa1
/f t8is option is C8ec,edI a messa$e )ox 3ill appear reEuestin$ t8e user to confirm t8e
do3nload.
/f Force is c8ec,ed t8e user 3ill not 8a*e t8e option to a)ort t8e process.
%e;"est Confir,ation before &nstall
/f t8is option is C8ec,edI a messa$e )ox 3ill appear reEuestin$ t8e user to confirm t8e
installation.
/f Force is c8ec,ed t8e user 3ill not 8a*e t8e option to a)ort t8e process.
Perfor, 0ac6gro"n1 2p1ate
/f t8is option is C8ec,edI t8e 38ole update process 3ill )e performed in t8e )ac,$round.
&nfor, 2ser wen 2p1ate is Finise1
/f t8is option is C8ec,edI t8en once t8e update process is finis8ed t8e .$ent 3ill displa6 a
messa$e.
%estart Process wen 2p1ate is Finise1
/f t8is option is c8ec,edI t8e .$ent 3ill restart t8e 2unnin$ Process at t8e end of t8e
1pdate process. 2estart 3ill ta,e place onl6 if t8e .$ent 8as actuall6 s8ut do3n t8e
process pre*iousl6.
9ersion of =ew 2p1ate
'nter 8ere a num)er t8at 3ill represent t8e *ersion of t8e ne3 release. 58e num)er 6ou
enter 8ere -1S5 )e $reater t8en t8e num)er 6ou specified in H9ersion of <riginal
Set"pL 38en 6ou created t8e 0ri$inal Setup.
&e use 8ere onl6 P12' num)ers M1I 2I # etc...N for clarit6 and dependa)ilit6.
5uto 7p6ate +1
9ali1 for 9ersionsA
Specif6 8ere all t8e old *ersions t8at t8e current deli*er6 can .uto1pdate.
*/a,pleA
K Lour current *ersion is %.
K Lou alread6 released =ersions 1I2 7 # to t8e pu)lic.
K 58e current *ersion can onl6 safel6 update *ersionsD 2 7 #.
K /n t8is case enter 2M3 in t8is field.
/f 6ou lea*e t8is field empt6I t8en .LL pre*ious *ersions 3ill )e updated.
0est (ode
&8en 6ou create an .uto 1pdate deli*er6I 6ou o)*iousl6 3ant to test it )efore 6ou send it
to 6our customers. 5o test it 6ou 3ill 8a*e to run a cop6 of t8e older *ersion on 6our PCI
and t8en upload t8e update deli*er6 to t8e internet. t8e pro)lem 3it8 t8is scenario is t8at
38ile 6ou are still testin$I 6our customers 3ill also do3nload t8e ne3 update and install it
e*en )efore 6ou conclude t8e test.
5o a*oid t8is scenarioI c8ec, t8e H5est -odeH C8ec,+ox.
&8en H5est -odeH is c8ec,ed an6 .$ent runnin$ on 6our computer 3ill loo, for t8e
./!0 file in t8e HProject Director6H on 6our local HardDis,. 58is 3a6 6ou can test t8e
ne3 setup 3it8out 1ploadin$ it to t8e internet.
Co,pile
Clic, t8is )utton to create t8e /!0 file. 58e name of t8is file 3ill )e t8e one stated under
Hame of 1PD.5' ProjectH. /f 6ou selected to deli*er t8e data in a .1PD.5' file t8en t8is
file 3ill also )e compiled.
2ploa1
Clic, t8is )utton to 1PL0.D t8e ./!0 file and t8e selected data file to t8e 3e) usin$
!5P protocol.
9erify 2%)
1se t8is dialo$ to *erif6 t8at t8e 12Ls 6ou specified for t8e /!0 7 D.5. files are
correct.
58is dialo$ 3ill onl6 test /5'2'5 12Ls.
Please remem)er to test t8e 12Ls e*en )efore 6ou release t8e ori$inal *ersion of 6our
soft3are.
-unnin t0e )uto,pdate )ent
.s explained a)o*eI t8e .uto1pdate .$ent must )e set to run on 6our customers PC for
t8e .uto1pdate process to function.
.s explained under %"n #"to2p1ate at Start2pM 6ou can instruct t8e setup pro$ram to
ma,e t8e a$ent run at &indo3s startup. .not8er 3a6 3ould )e to start it from 6our
pro$ram usin$ t8e &in'xec command under &indo3s.
Eam$le1
/f t8e Hame of 1PD.5' ProjectH is HP8one+oo,1pdateH t8en t8e .$ent name is
HP8one+oo,1pdate.'"'H. .dd to 6our pro$ram a line similar to t8e follo3in$D
WinExec("Phoneoo!"#$%&e'E(E")*+;
/f t8e .$ent is located in a parent director6 relati*e to 6our applicationI use a line similar
to t8e follo3in$D
5uto 7p6ate +2
WinExec("''\Phoneoo!"#$%&e'E(E")*+;
/f t8e .$ent is located in a c8ild director6 )6 t8e name """ use a line similar to t8e
follo3in$D
WinExec("(((\Phoneoo!"#$%&e'E(E")*+;
Lou can also S50P t8e a$ent from inside 6our pro$ram usin$ a line similar to t8e
follo3in$D
WinExec("Phoneoo!"#$%&e'E(E -STOP.*")*+;
if 6ou use a line similar to t8e follo3in$I t8en t8e .$ent 3ill stop #44 seconds .!5'2
issuin$ t8e commandD
WinExec("Phoneoo!"#$%&e'E(E -STOP./**")*+;
if 6ou use a line similar to t8e follo3in$I t8en t8e .$ent 3ill perform a test in t8e
)ac,$round and exit immediatel6 after t8e test.
WinExec("Phoneoo!"#$%&e'E(E -TEST.0")*+;
if 6ou use a line similar to t8e follo3in$I t8en t8e .$ent 3ill perform a test in t8e
fore$round K displa6in$ *arious dialo$s durin$ t8e process K and exit immediatel6 after
t8e test.
WinExec("Phoneoo!"#$%&e'E(E -TEST.1")*+;
)d#anced )uto ,pdate
GSetup includes a compre8ensi*e .P/ t8at 3ill let 6ou control t8e .uto 1pdate .$ent
from 3it8in 6our 2unnin$ .pplication. 5o read a)out t8is option $o to H.d*anced .uto
1pdateH.
)uto *nform
H.uto /nformH is Euite similar to H.uto 1pdateH.
58e first 2 steps are identical. Sust li,e in H.uto 1pdateH 6ou must fill t8e first 2 areas
H>eneralH 7 H0ri$inal SetupH as explained a)o*e.
&8en 6ou 8a*e a ne3 *ersion a*aila)le 6ou must prepare t8e follo3in$D
1. Create a stand alone setup as an '"' file and upload it to 6our 3e)site.
2. Prepare a special do3nload pa$e on 6our 3e)site 3it8 a lin, to t8e ne3 setup
executa)le.
#. Prepare an 25! or 5"5 file t8at 3ill descri)e t8e ne3 update.
0n t8e H.uto 1pdateH area select t8e H.uto /nformH ta) and do t8e follo3in$D
1. C8ec, t8e HSelect /!02- !ileDH option.
2. Clic, t8e O...P )utton and select t8e 25! or 5"5 file 6ou prepared.
#. Set t8e si9e of t8e messa$e 6our user 3ill see.
%. C8ec, t8e HDo3nload 12LDH option.
(. 'nter t8e full 12L to t8e do3nload pa$e 6ou prepared.
Pre+iew
o3 Clic, t8e OPre*ie3...P )utton.
GSetup 3ill displa6 a special dialo$ displa6in$ t8e 25! or 5"5 file 6ou created.
Clic, t8e ODo3nload...P )utton on t8e dialo$ and t8e )ro3ser 3ill open 3it8 t8e pa$e 6ou
indicated as t8e HDo3nload 12LH.
5uto 7p6ate +3
9ersion of =ew 2p1ate
Set t8is *alue as descri)ed a)o*e for H.uto 1pdateH.
9ali1 for 9ersionsA
Set t8is *alue as descri)ed a)o*e for H.uto 1pdateH.
Co,pile
Clic, t8is )utton to create t8e /!0 7 /!02- files. 58e names of t8e files 3ill )e t8e one
stated under Hame of 1PD.5' ProjectH.
U$load
Clic, t8is )utton to 1PL0.D t8e ./!0 7 ./!02- files to t8e 3e) usin$ !5P protocol.
9erify 2%)
1se t8is dialo$ to *erif6 t8at t8e 12Ls 6ou specified for t8e /!0 7 /!02- files are
correct.
58is dialo$ 3ill onl6 test /5'2'5 12Ls.
Please remem)er to test t8e 12Ls e*en )efore 6ou release t8e ori$inal *ersion of 6our
soft3are.
+'
'ere 'odules
. H-er$e -oduleH M.msm fileN is a sin$le pac,a$e t8at includes all filesI resourcesI re$istr6
entriesI and setup lo$ic to install a s8ared component. . -er$e -odule is intended to )e
em)edded in an -S/ file.
-S/ stands for H-icrosoft /nstallerH M&8ic8 3as later renamed )6 -icrosoft to H&indo3s
/nstallerHN.
-S/ is a ne3 /nstallation tec8nolo$6 de*eloped )6 -icrosoft.
-S/ is a*aila)le )6 default in t8e follo3in$ &indo3s *ersionsD &in-'I &in2444I &in"PI
&in244# 7 =ista.
/t is also a*aila)le as a free do3nload from t8e -icrosoft 3e)site for earlier *ersions of
&indo3s.
-icrosoft and ot8er soft3are companies are no3 distri)utin$ s8ared soft3are components as
H-er$e -odulesH
/f 6ou 3ant to distri)ute a H-er$e -oduleH to 6our customers as part of 6our setup fileI t8e
H-er$e -oduleH must )e 3rapped in an -S/ file 38en t8e file.
/-P025.5 K 58e H"er-e "o6u!es: option is a$ai!a%!e on!y in the PR; $ersion.
)dd 'ere 'odule
5o add a H-er$e -oduleH file to 6our setup clic, O.dd /tem...P and select t8e -S- file 6ou
3ant M6ou ma6 add more t8en one fileN.
+ptions
&nstall #t
58e -S/ file 3ill )e installed durin$ t8e HCop6 !ilesH sta$e of t8e setup. Lou ma6 select
one of t3o optionsD
Cop6 Start K Sust )efore t8e first file is copied to t8e tar$et director6.
Cop6 end K Sust after t8e last file is copied to t8e tar$et director6.
2n&nstall #t
Lou ma6 select one of t8ree options for t8e 1n/nstallation of t8e -er$e -oduleMsN.
/$nore K DonJt 1n/nstall t8e -er$e -oduleMsN.
1n/nstall Start K 58e first item to )e uninstalled from t8e PC.
1n/nstall 'nd K 58e last item to )e uninstalled from t8e PC.
Display <ptions
8i11en K DonJt s8o3 an6 -S/ dialo$ durin$ Setup 7 1n/nstall.
Passi+e K S8o3 a limited -S/ Dialo$ durin$ Setup 7 1n/nstall Mpro$ress )ar onl6N.
F"ll K S8o3 t8e full -S/ dialo$ durin$ Setup 7 1n/nstall
#lways %ecreate (S& File
&8en t8is option is c8ec,ed t8e -S/ file 3ill )e recreated e*er6 time 6ou compile t8e
setup.
"er-e "o6u!es +(
(S& File =a,e
+6 default GSetup 3ill offer a name for t8e -S/ fileI 8o3e*er 6ou ma6 modif6 t8e name
as 6ou 3is8.
.fter 6ou 8a*e selected all t8e options accordin$ to 6our preferencesI clic, t8e OCompileP
)utton.
GSetup 3ill create t8e -S/ file Mif neededN and proceed to compile t8e setup file as usual.
Durin$ compilation GSetup 3ill em)ed t8e -S/ file in t8e setup and later on durin$ setup
GSetup 3ill run t8e -S/ file on t8e tar$et PC.
Set Parameters
Some -er$e -odules introduce parameters t8at 6ou can set )efore 6ou compile 6our
setup.
Hi$8li$8t t8e t8e -er$e -odule name and clic, t8e OSet Parameters...P )utton.
/n t8e dialo$ t8at opens scroll t8rou$8 t8e list of parameters and set e*er6 parameter as
reEuired
Test
Create (S& File
Clic, t8is )utton to create t8e -S/ file. 58e file 3ill )e stored in t8e Project director6 38ere
t8e Setup file is normall6 created.
&nstall (S& File
Clic, t8is )utton to test t8e ne3l6 created -S/ file. &8en 6ou clic, t8is )uttonI t8e -er$e
-odules 6ou are usin$ 3ill )e actuall6 installed on 6our PC.
2n&nstall (S& File
Clic, t8is )utton to 1n/nstall t8e -S/ file 6ou just install. /t is al3a6s recommended t8at
after 6ou install t8e -S/ file for testin$I 6ou 3ill also 1n/nstall it. Mormall6 an -S/ file can
not )e installed t3ice 3it8out first )e 1n/nstalledN.
&8en t8e &nstall 7 2n&nstall operation is completeI a special H2esult -essa$eH 3ill
appear 3it8 t8e operation result.
!or H-S/ 'rror CodesH clic, t8e follo3in$ lin,D
333.pantara6.com<msiAerrorAcodes.8tml
+)
,n*nstall
Create ,n*nstall
Create -utomatic UnInstall
/f t8is option is c8ec,ed t8en GSetup 3ill create an 1n/nstall option for t8e pro$ram 6ou
are installin$. ormall6 t8e user 3ill call t8is option from t8e H.dd<2emo*e Pro$ramsH
dialo$ of t8e HControl PanelH.
Lou ma6 also instruct t8e pro$ram to add an 1n/nstall s8ortcut to t8e Start<Pro$ram
menuI )6 c8ec,in$ t8e H.dd 1n/nstall S8ortcutH C8ec,)ox found on t8e HS8ortcutH
C8ec,)ox found on t8e HS8ortcutH pa$e.
Scra,ble Data File
&8en t8e Setup pro$ram is runnin$ it creates a data file t8at is later used for t8e
1n/nstall pro$ram. /f t8is option is c8ec,edI t8e file 3ill )e scram)led.
8i1e *rror (essage at en1 of 2n&nstall
/f 'rrors occurs durin$ t8e 1n/nstall processI GSetup 3ill displa6 an error messa$e.
C8ec, t8is option if 6ou 3ant to 8ide t8is 'rror -essa$e.
8i1e )og 0"tton at en1 of 2n&nstall
/f 'rrors occurs durin$ t8e 1n/nstall processI GSetup 3ill displa6 Lo$ +utton on t8e
1n/nstall dialo$. C8ec, t8is option if 6ou 3ant to 8ide t8is Lo$ +utton.
Perfor, Silent 2n&nstall
&8en t8is option is c8ec,edI t8e 1n/nstall pro$ram 3ill run 3it8out inter*ention of t8e
user.
Lou can ac8ie*e t8e same effect )6 addin$ 5silent parameter on t8e commandKline of
t8e 1n/nstall pro$ram.
'erform 2idden UnInstall
&8en t8is option is c8ec,edI t8e 1n/nstall pro$ram 3ill run completel6 in t8e
)ac,$roundI presentin$ no dialo$ durin$ t8e process.
Lou can ac8ie*e t8e same effect )6 addin$ 5i1e parameter on t8e commandKline of
t8e 1n/nstall pro$ram.
UnInstall Ee /tam$
&8en addin$ 1n/nstall optionI GSetup add a file )6 t8e name unA?????A.exe
to t8e setup deli*er6.
58is file is actuall6 t8e 1n/nstallation pro$ram.
58e ????? part is actuall6 t8e H-edia !ile ameH as defined on t8e HProjectH
pa$e.
58e part of t8e name is calculated from t8e tar$et executa)le file
name.
1sin$ t8is s6stem 6ou can install se*eral pro$rams into one director6 and eac8
one 3ill 8a*e its o3n 1n/nstall pro$ram.
58e H1n/nstall 'xe ameH option 3ill let 6ou specif6 manuall6 a specific name.
/et UnInstall Ee Dir
+6 default t8e 1n/nstall files M'"' 7 5"5N 3ill )e placed in t8e @.pplication !olderC
durin$ setup.
1se t8is option to set anot8er location for t8e 1n/nstall files.
7nnsta!! ++
,n*nstall S0ortcut
-dd UnInstall /hortcut
/f 6ou c8ec, t8is C8ec,)oxI t8e setup pro$ram 3ill add an H1n/nstallation S8ortcutH to
t8e Start<Pro$ram menu. !or t8is item to )e acti*eI 6ou must c8ec, t8e HCreate
.utomatic 1n/nstallH C8ec,)ox in t8e HS3itc8esH pa$e.
Set Sortc"t S"b Fol1er
1sin$ t8is option 6ou can specif6 a su)Kfolder in t8e Start<Pro$ram menu to locate t8e
S8ortcut.
Force %e,o+e (ain Sortc"t Fol1er
ormall6 t8e 1n/nstall pro$ram 3ill attempt to remo*e t8e main s8ortcut folder.
/f t8e user 8as added manuall6 some more s8ortcuts to t8is !olderI or anot8er
installation pro$ram 8as placed s8ortcuts in t8e same !olderI t8e !older 3ill 05 )e
remo*ed durin$ 1n/nstall.
Lou can !02C' t8e 1n/nstall pro$ram to remo*e t8is folder )6 c8ec,in$ t8is option.
)dd2-emo#e Prorams
-dd /hortcut to "-dd3Remove 'rograms"
C8ec, t8is option to add an 1n/nstall s8ortcut to t8e H.dd<2emo*e Pro$ramsH dialo$.
-dd "Change" +utton
C8ec, t8is option to add a Cange )utton to t8e 1n/nstall entr6 in t8e H.dd<2emo*e
Pro$ramsH dialo$.
Dis$lay 4ame
+6 default GSetup 3ill use t8e HPro$ram Descripti*e ameH as t8e Displa6 ame of
t8is s8ortcut.
1se t8is option to specif6 a different name.
Dis$lay Icon
1se t8is option to set a specific /con for t8is s8ortcut.
S"pport &nfor,ation 2%)
.dd 8ere a 12L t8at 3ill lead to t8e support information pa$e on 6our 3e)site.
Pro1"ct 2p1ates 2%)
.dd 8ere a 12L t8at 3ill lead to t8e product updates pa$e on 6our 3e)site.
+2
Directories
/n se*eral places in t8e pro$ram MH!ilesH pa$eI H2e$istr6H pa$eI H/ni!ileH pa$eI H'n*ironmentH
pa$eI H'xecuteH pa$eI etc...N 6ou 3ill find a Com)o+ox 3it8 a list of aliases for some
predefined directories. 58e Com)o+ox is accompanied )6 an adjacent 'dit)ox 3ere 6ou
s8ould enter t8e rest of t8e director6 definition.
58e directories s8ould )e interpreted as follo3sD
H#bsol"teDirK 2efer to t8e definition in t8e 'dit)ox as an a)solute director6.
H&nstallDirK 58e tar$et installation director6 as defined under H.pplication !olderH in t8e H!ilesH
pa$e of t8e Composer. /f t8e user selects a different destination director6I
t8e content of t8is alias 3ill c8an$e accordin$l6.
H&nstallCo,,onDirK 58e tar$et installation director6 as defined under HCommon !olderH in t8e
H!ilesH pa$e of t8e Composer.
H&nstall#"/DirK 58e tar$et installation director6 as defined under H.uxiliar6 !olderH in t8e H!ilesH
pa$e of t8e Composer.
H>inDirK 58e &indo3s director6 K normall6 HCD;&indo3sH.
H>inSys32DirK 58e S6stem Director6 K normall6 HCD;&indo3s;S6stem#2H.
H>inSys16DirK 58e 0LD S6stem Director6 K normall6 HCD;&indo3s;S6stemH.
HProgra,FilesDirK 58e HPro$ram !ilesH director6 as indicated in t8e 2e$istr6 K normall6
HCD;Pro$ram !ilesH.
HCo,,onFilesDirK 58e HCommon !ilesH director6 as indicated in t8e 2e$istr6 K normall6
HCD;Pro$ram !iles;Common !ilesH.
HFontDirK 58e director6 38ere &indo3s stores font files K normall6 HCD;&indo3s;!ontsH.
HSrcDirK58e director6 38ere t8e Setup or 1n/nstall pro$ram is no3 runnin$ from.
HTe,pDirK 58e &indo3s 5'-P director6 K normall6 HCD;&indo3s;5'-PH.
H2serDirK 58e 1ser Home director6 K normall6 HCD;Documents and Settin$s;1serameH.
H<riginDirK 58e director6 38ere t8e ori$inal setup file 3as runnin$ from K normall6 it 3ill )e t8e
CDK20-.
HSer+iceDirK 58e director6 38ere Ser*ice !iles for t8e H'xecute 'n$ineH 3ill )e found.
H&nstallDri+eK 58e Dri*e of t8e tar$et installation director6 @/nstallDirC K normall6 HCD;H.
H>inDri+eK 58e Dri*e 38ere &indo3s is installed K normall6 HCD;H.
H>inSysDri+eK 58e Dri*e 38ere t8e S6stem director6 is located K normall6 HCD;H.
H<riginDri+eK 58e Dri*e 38ere t8e ori$inal setup file 3as runnin$ from K normall6 it 3ill )e t8e
CDK20- dri*e M'D;N.
H&nstallDis6K 58e Dis, of t8e tar$et installation director6 @/nstallDirC K normall6 HCDH.
H>inDis6K 58e Dis, 38ere &indo3s is installed K normall6 HCDH.
H>inSysDis6K 58e Dis, 38ere t8e S6stem director6 is located K normall6 HCDH.
H<riginDis6K 58e Dis, 38ere t8e ori$inal setup file 3as runnin$ from K normall6 it 3ill )e t8e CDK
20- dri*e M'DN.
Directories +3
@1ser.ppDataDirC
@1serLocal.ppDataDirC
@-6DocumentsDirC
@1serStart-enuDirC
@1serStartPro$ram-enuDirC
@1serDes,topDirC
@.ll1sersDirC
@.ll1sers.ppDataDirC
@.ll1sersDocumentsDirC
@.ll1sersStart-enuDirC
@.ll1sersStartPro$ram-enuDirC
@.ll1sersDes,topDirC
@Documents.ndSettin$sDirC
H%"nTi,eDirI1K 58e director6 3ill )e located on t8e tar$et PC at runtimeI )ased on its name or
content.
H%"nTi,eDirI2K 58e director6 3ill )e located on t8e tar$et PC at runtimeI )ased on its name or
content.
...
H%"nTi,eDirI3K 58e director6 3ill )e located on t8e tar$et PC at runtimeI )ased on its name or
content.
>-unTimeDir?6@
1sin$ @2un5imeDirABC 6ou can instruct GSetup to locate a specific director6 at runtime
Mt8at is K 38en t8e setup is runnin$ on 6our customerJs PCN K )ased on files found in t8at
director6 or t8e name of t8e director6 or some 2e$istr6 information.
U$to 5 Run0ime directories may be defined &ith the names1 <RunTimeDir_1>,
<RunTimeDir_2> ... <RunTimeDir_8>!
5o define an6 of t8ose directories clic, t8e correspondin$ )utton on t8e Files pa$e.
0nce 6ou define a 2un5ime director6I 6ou can use it in t8e Files pa$e as 3ell as in t8e
*/ec"te 7 &niFile pa$es.
GSetup 3ill attempt to find t8e 2un5ime director6 usin$ % met8odsD
1. Searc for #pplication Directory in te %egistry
&8en t8is met8od is selectedI GSetup 3ill attempt to read t8e director6 from t8e
follo3in$ ,e6 in t8e 2e$istr6D
H:'LAL0C.LA-.CH/';Soft3are;-icrosoft;&indo3s;Current=ersion;.p
p Pat8s;Pro$'xe
58is met8od is *er6 effecti*e for +/> applications li,e &in&ord.exe 7 'xcel.exe.
&8en selectin$ t8is option enter t8e executa)le file name 3it8 extension as
parameterD
SampleD winwor1.e/eI e/cel.e/eI etc...
58is searc8 is *er6 fast.
2. %ea1 Directory na,e fro, te %egistry
Directories 20
&8en t8is met8od is selectedI GSetup 3ill attempt to read t8e director6 directl6 from
t8e 2e$istr6.
1se t8is met8od to read a *alue t8at 3as entered )6 a pre*ious cop6 of 6our
pro$ram or )6 anot8er pro$ram.
'nter 8ere a Eey=a,e and read its 1efa"lt *alueI or 'nter 8ere a
Eey=a,eU9al"e=a,e com)ination and read its *alue.
58is searc8 is *er6 fast.
3. Searc for Directory of Specific File
&8en t8is met8od is selectedI GSetup 3ill attempt to find t8e director6 usin$ a
normal !ind!irst<!indext searc8 pattern.
&8en selectin$ t8is option enter t8e file name 3it8 extension as parameterD
58is searc8 is *er6 slo3.
!. Searc for F"llPat of Specific Directory
&8en t8is met8od is selectedI GSetup 3ill attempt to find t8e director6 usin$ a
normal !ind!irst<!indext searc8 pattern.
&8en selectin$ t8is option enter t8e director6 name. !or added securit6 6ou ma6
add t8e pat8 of t8e parent director6.
!or exampleD
38en searc8in$ for <ffice t8e searc8 ma6 findD
HCD;Pro$ram !iles;-icrosoft 0fficeH.
38en searc8in$ for (icrosoftU<ffice t8e searc8 ma6 findD
HDD;Documents and Settin$s;>uest;.pplication Data;-icrosoft;0fficeH.
58is searc8 is Euite slo3.
6ou can use any miture of the above mentioned searches!
58e searc8 3ill )e executed in t8e order of t8e dialo$.
0nce a suita)le director6 is foundI t8e searc8 3ill stop.
Lou ma6 also define a default director6 t8at 3ill )ecome effecti*e if no suita)le director6 is
found.
Sow (essage
Scannin$ t8e dri*e for a specified director6 is usuall6 a len$t86 operation.
C8ec, t8is option to displa6 t8e messa$e HSearc8in$ for Director6 KKK Please &aitFH
durin$ t8e searc8.
&f Directory not Fo"n1
/f t8e @2un5imeDirABC is not found 6ou can instruct t8e Setup pro$ram to issue an
error messa$e and<or a)ort t8e installation.
58e actual test for t8e existence of t8e @2un5imeDirABC is performed just )efore t8e
director6 is needed for t8e first time.
21
)liases
&8ere e*er it is le$al to enter a director6 alias 6ou ma6 also enter an6 of t8e follo3in$
to,ensD
H2ser=a,eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e current user name Mnormall6 t8e name
t8e user used at 3indo3s installationN.
H)ogge12ser=a,eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e current user name Mnormall6 t8e name
t8e user used at lo$onN.
HCo,pany=a,eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e current compan6 name Mnormall6 t8e
name t8e user used at 3indo3s installationN.
HCo,p"ter=a,eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e current computer name Mt8e name of
t8e computer t8e user is runnin$ on no3N.
HC"rrentDo,ain=a,eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e current domain name Mt8e domain t8e
user used at lo$onN.
H*ntere12ser=a,eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e 1ser ame as entered )6 t8e user in
H1ser /nformationH dialo$.
H*ntere1Co,pany=a,eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e Compan6 ame as entered )6 t8e user
in H1ser /nformationH dialo$.
H*ntere1Serial=",K
58is 5o,en 3ill )e replaced at runtime 3it8 t8e Serial um)er as entered )6 t8e user in
H1ser /nformationH dialo$.
HDateVJK
1se t8is to,en to enter t8e current date.
58is to,en s8ould 8a*e an6 of t8e follo3in$ s8apesD
HDateV.K 58e num)er of da6s t8at 8a*e elapsed since 41KS.K2444.
HDateV1K 28K42K47
HDateV2K 42K28K47
HDateV3K 47K42K28
HDateV!K 28K42K2447
HDateV$K 42K28K2447
HDateV6K 2447K42K28
HDateV7K 2447K42K28 12D#1D(9
H9en1orCo,pany=a,eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e name of t8e compan6 t8at produced t8e
setup K as entered on t8e HProjectH pa$e.
5!iases 22
HProject=a,eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e HProject ameH K as entered on t8e
HProjectH pa$e.
HProgra,Descripti+e=a,eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e HPro$ram Descripti*e ameH K as
entered on t8e HProjectH pa$e.
HProgra,9ersionK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e HPro$ram=ersionH K as entered on t8e
HProjectH pa$e.
H2n&nstall*/ePatK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e full pat8 of t8e 1n/nstall executa)le.
H)ast*/ec"table*/itCo1eK
58is 5o,en 3ill )e replaced at runtime 3it8 t8e 'xit Code of t8e last H2un 'xecuta)leH
command.

23
'S*
-S/ is an /nstallation tec8nolo$6 de*eloped )6 -icrosoft.
-S/ stands for H-icrosoft /nstallerH M&8ic8 3as later renamed )6 -icrosoft to H&indo3s
/nstallerHN.
-S/ is a*aila)le )6 default in t8e follo3in$ &indo3s *ersionsD &in-'I &in2444I &in"P
&in244# 7 =ista.
/t is also a*aila)le as a free do3nload from t8e -icrosoft 3e)site for earlier *ersions of
&indo3s.

Startin$ from *ersion 9.4 GSetup is a)le to produce setup files in t8e form of an -S/ file.
0nce 6ou define a setup usin$ t8e Composer 6ou can produce )ot8 a classic HSelf 'xtractH
setup in t8e form of an '"' file or an -S/ file. 5o select '"' or -S/ use t8e Com)o+ox
located at t8e 0otto,5%igt side of t8e Composer screen.


!0$ 'S*=
-S/ is mainl6 reEuired )6 /5 professionals in lar$e or$ani9ations. !or t8e /5 professional
t8e -S/ format offers t8e follo3in$ )enefitsD
Self 8ealin$ K /f a pro$ram 3as dama$ed on t8e endKuserJs des,topI t8e user
can rerun t8e ori$inal -S/ setup file to initiate an automatic repair process.
-S/ files can )e distri)uted to man6 des,tops in an or$ani9ation usin$ H.cti*e
Director6H.
-S/ file can )e installed )6 a user 38o does not 8a*e administrati*e pri*ile$es.
.n /5 professional can modif6 an -S/ file and adjust it to 8is or$ani9ationJs
reEuirements )efore distri)ution to end users.
58e -S/ !ormat supports a roll)ac, function 38ic8 3ill restore 6our PC to its
ori$inal state if t8e setup process 3as interrupted.

Producin an 'S* file
5o produce an -S/ file usin$ GSetup use t8e follo3in$ procedure.
Define a setup usin$ some or all of t8e pa$es of t8e composer.
>oto t8e +ottom<Left of t8e Composer screen and select H-S/H in t8e selection
)ox.
Clic, t8e OCompileP )utton.

.s a result of t8is seEuence of operations 6ou 3ill 8a*e a distri)ution file M-edia !ileN
3it8 an -S/ extension in t8e HProject Director6H.

(S& )og
/f 6ou clic, t8e O2unP )utton and t8e HDe)u$H option is c8ec,ed on t8e HProjectH pa$eI
GSetup 3ill displa6 t8e -S/ lo$ after runnin$ t8e -S/ setup file.

&(P<%T#=T K usin$ t8e same setup definitions 6ou can easil6 produce a classic HSelf
'xtractH setup in t8e form of an '"' file. Sust select H'"'H in t8e selection )ox and clic,
OCompileP.

"S 2'
&8en in -S/ modeI clic,in$ t8e O2unP )utton 3ill launc8 t8e -S/ file 6ou just compiled.
&8en in -S/ mode 6ou can upload t8e -S/ file 6ou just compiled to t8e 3e) )6 clic,in$
t8e O1ploadP )utton.

&(P<%T#=T K /f 6ou 3ant to reinstall an -S/ setup 6ou must first uninstall it. Lou can
uninstall t8e old setup from t8e &indo3s H.dd<2emo*e pro$ramsH dialo$.


'S* #s "X"
1nfortunatel6 not all of t8e features t8at are currentl6 supported )6 t8e GSetup '"'
format are a*aila)le in t8e -S/ format. &e 8ope to add more functionalit6 to our -S/
implementation in future *ersionsI 8o3e*er some features can not )e implemented since
t8e -S/ format 3ill not allo3 t8em.


'issin Features
58e follo3in$ list summari9es t8e features t8e are not a*aila)le in GSetup -S/
implementationD

Project Page
Lan$ua$e Support
Compression Le*el
Create Split Setup
Span CDs
De)u$

Display Page
Displa6 pa$e is not implemented

Files Page
'xclusi*it6 5a$
/nclude >roup )6 Setup um)er
0*er3rite !iles 7 2emo*e Directories are 8andled accordin$ to -S/ policies.

Dialogs Page
.dd /ma$e
S8o3 Pro$ress +ar B2
Perform Silent 7 Hidden Setup
CD Setup
S8o3 Compact Setup .lso
!orce Partial Setup
Custom Dialo$s

Switces Page
Create Setup.lo$ !ile
2eEuest Confirmation +efore 'xtract
Pre*ious /nstallation MHandled )6 -S/N.
5est for runnin$ executa)le.
2un<2un 0nce.
.uto 2un 5est.

"S 2(
Sortc"ts Page
Lan$ua$e Support.
Selected )6 'nd 1ser.

%egistry Page
/nstall 2e$ !iles.

Properties Page
Properties Pa$e is not implemented

*/ec"te Page
'xecute 'n$ine is not implemented

0illboar1 Page
+ill)oard in not implemented

#"to 2p1ate
.uto 1pdate is not implemented

2n&nstall Page
1n/nstall is 8andled automaticall6 )6 -S/I as a result onl6 fe3 of t8e
parameters in t8e uninstall pa$e are *alid also for -S/.
5ppen6i9es < 5ppen6i9es < 2)
)ppendixes A
)dd2,pdate "xecution *tem
/n t8is dialo$ 6ou 3ill define operations to )e performed durin$ t8e Setup or 1n/nstall
process.
Detailed description of all t8e Condition 7 'xecution commands ma6 )e found atD
333.pantara6.com<execute.8tml
*tem Name4
'*er6 execution item must 8a*e a name. 'nter 8ere a name t8at 3ill descri)e t8e function
of t8e execution item.
Perform )t4
Define 8ere at 38at sta$e of t8e process t8e operation 3ill )e performed )6 selectin$ an6
of t8e follo3in$ optionsD
1ndefined Sta$e
Setup Start
Cop6 Start
Cop6 'nd
Setup 'nd
1n/nstall Start
1n/nstall 'nd
+efore 1ser /nformation
.fter 1ser /nformation
+efore Setup 56pe
.fter Setup 56pe
+efore Custom
.fter Custom
+efore Destination
.fter Destination
+efore .ssociate
.fter .ssociate
+efore S8ortcuts
.fter S8ortcuts
+efore Complete
.fter Complete
.fter +ill)oard
+efore Dialo$s
.fter 2e$ Components
5ppen6i9es < 566=7p6ate 09ecution tem 2+
*tem T$pe4
Select from # different item t6pesD
Conditional K 58e operation 3ill )e performed onl6 if certain condition is meet.
1nConditional K 58e operation 3ill )e performed unconditionall6.
&8ile Loop K 58e operation 3ill )e performed repeatedl6 as lon$ as t8e condition is
meet K .D 5H' optionall6 perform anot8er operation.
)oopsA
58is option is *alid onl6 if 6ou selected H&8ile LoopH.
/f 6ou enter 8ere a Rero t8en t8e &8ile Loop 3ill perform as lon$ as t8e condition is
meet Me*en fore*erN.
.n6 num)er $reater t8en 9ero means K t8e loop 3ill perform upto t8is num)er of loops
and t8en exit t8e loop e*en if t8e condition is not meet.
Delay C(SDA
58is option is *alid onl6 if 6ou selected H&8ile LoopH.
Selectin$ an6 num)er $reater t8en 9ero 3ill add a dela6 Min -illiSecondsN )et3een
e*er6 loop iteration.
+nline Help
1se t8is c8ec,)ox to displa6 an online 8elp t8at 3ill descri)e e*er6 Condition or 'xecution
item 38ile 6ou 8o*er t8e mouse o*er t8is item.
Conditions
&e pro*ide t8e follo3in$ predefined conditionsD
Files G Directories
!ile !ound
Director6 !ound
Dri*e !ound
5ext !ound in !ile
!ile !ound MH55PN
!ile .ttri)ute is in
!ile is Loc,ed
#pplication
.pplication !ound
.pplication Pat8 !ound
.pplication =ersion is
.pplication is 2unnin$
(iscellaneo"s 1
'xe is 2unnin$
Ser*ice is /nstalled
Ser*ice is 2unnin$
0peratin$ S6stem is in
!ile =ersion is
H&indo3 is !ound K M1sin$ t8e !ind&indo3MN .P/ callN
Local Lan$ua$e is in
Selected Lan$ua$e is in
!ile Si9e is M+6tesN
!ile Date and 5ime is
5ppen6i9es < 566=7p6ate 09ecution tem 22
/nternet Connection 0:
Last 'xecuta)le 'xit Code is
Printer /ntalled
%egistry
2e$istr6 :e6 !ound
2e$istr6 =alue !ound
2e$istr6 =alue is
*n+iron,ent
'n*ironment =aria)le !ound
'n*ironment =aria)le /s
'n*ironment =aria)le /s M1pCaseN K M/$nore case 38en performin$ t8e c8ec,N.
8ar1ware
-emor6 Si9e is M-+N
CP1 Speed is M-H9N
Screen 2esolution is
Color Dept8 is
Dis, !ree Space is M-+N
'6!
2unnin$ on 6% +it 0S
6% +it State is 0
(o1"les
.'5 !rame3or, =ersion is in
=isual +asic 2untime !ound
.D0M-D.CN =ersion is
-SK.CC'SS =ersion is
SGLM-SD'N =ersion is
0D+C /nstalled
+D' /nstalled
Direct" =ersion is
-edia Pla6er =ersion is
SD: =ersion is
S2' =ersion is
D.0 /nstalled
=isual SB =ersion is
/nternet 'xplorer =ersion is
!las8 Pla6er =ersion is
.cro)at 2eader =ersion is
SGL 'xpress =ersion is
-S S'5 #.( =ersion is
-S S'5 %.4 =ersion is
//S =ersion is
=isual CXX 2edistri)uta)le !ound
(iscellaneo"s 2
.s, Les<o
.s, 0:<Cancel
Setup 56pe is
>roup Selected
.uto 1pdate is 2unnin$
+ill)oard is 2unnin$
5ppen6i9es < 566=7p6ate 09ecution tem 23
#1,in
1ser ame is K M.s entered in t8e 1ser /nformation dialo$N.
Compan6 ame is K M.s entered in t8e 1ser /nformation dialo$N.
Serial um)er is K M.s entered in t8e 1ser /nformation dialo$N.
1ser is .D-//S52.502
1ser Pri*ile$e is in
C"sto, Dialogs
Control 5ext is
Control 5ext is 'mpt6
Control /tem /ndex is
Control is C8ec,ed
9ariables
Compare 1 =aria)le
Compare 2 =aria)les
5ext !ound in =aria)le
=aria)le !ound in 5ext
=aria)le !ound in =aria)le
=aria)le is 'mpt6
=aria)le Len$t8 is
-ost of t8e conditions accept one ar$umentI some accept 2 or # ar$uments.
.fter 6ou select a conditionI clic, t8e +ro3se )utton next to .r$umentK1 or .r$umentK2 to
select from t8e a*aila)le ar$uments.
=<T*
#pplication 4 refers to all exe files re$istered in t8e re$istr6 under t8e follo3in$ ,e6D
H:'LAL0C.LA-.CH/';Soft3are;-icrosoft;&indo3s;Current=ersion;.pp Pat8s
Ser+ice K refers to special pro$rams t8at are installed on 5 class mac8ines and are
automaticall6 started durin$ t8e startup process of t8e computer.
Stop2)nd2+r2Xor
/f 6ou 3ant to com)ine 2 or # conditions 6ou must define t8e relation )et3een t8em.
/f 6ou are usin$ # conditionsI t8e first t3o 3ill e*aluate first and t8e result 3ill )e e*aluated
a$ainst t8e t8ird condition.
2esultQMMCon1ition41 .nd<0r<"or Con1ition42N .nd<0r<"or Con1ition43N
Lou can ne$ate an6 condition )6 c8ec,in$ t8e =ot C8ec,)ox t8at precede it.
/f 6ou 3ant to use onl6 one condition Clic, Stop after t8e first condition.
/f 6ou 3ant to use t3o conditions Clic, Stop after t8e second condition.
Partial Cec6
&8en 6ou com)ine 2 or # conditionsI .LL conditions are e*aluated first and 0LL
t8en are related to eac8 ot8er.
+6 C8ec,in$ Partial Cec6 6ou can a*oid some e*aluations 38en not needed K for
instanceD
/f 6ou 8a*e 2 conditions 3it8 an <% relation and t8e !irst condition e*aluated to
521'I t8ere is no need to perform t8e second condition )ecause no matter 38at
3ill )e t8e outcome of t8is condition t8e end result 3ill )e 521'.
/f Partial Cec6 is C8ec,ed K onl6 t8e first condition 3ill )e e*aluated.
/f Partial Cec6 is 1nC8ec,ed K )ot8 conditions 3ill )e e*aluated.
5ppen6i9es < 566=7p6ate 09ecution tem 30
"xecutions
&e pro*ide t8e follo3in$ predefined executionsD
Files
Delete !ileMsN
Cop6 !ileMsN
-o*e !ileMsN
2ename !ileMsN
Set !ileMsN .ttri)utes
.llo3 !ull .ccess !ileMsN
Do3nload !ile MH55PN
0pen C.+ !ile
Cop6 !ile Dela6ed
>et S8ort Pat8ame
>et 'xpanded Pat8ame
>et et3or, Pat8ame
Directories
Create Director6
2emo*e Director6 K M3ill )e remo*ed onl6 if empt6N.
!orce 2emo*e Director6 K Mfirst 3ill erase all t8e files and t8en remo*e t8e
director6N.
Set &or,in$ Director6
Cop6 Director6 5ree
2ename Director6
Set !older to
Set Setup 56pe
.llo3 !ull .ccess Director6
Set Director6 .ttri)utes
#pplication
Delete .pplication 'xecuta)le
2emo*e .pplication Director6
1n/nstall application
2un .pplication
2un .pplication and &ait K M&ait until t8e process closesN
S8ut Do3n .pplication
&ait 38ile .pplication is 2unnin$
*/ec"table
S8ut Do3n 'xecuta)le
2un 'xecuta)le
2un 'xecuta)le and &ait K M&ait until t8e process closesN
S8ell 'xecute
S8ell 'xecute and &ait K M&ait until t8e process closesN
2un +atc8 !ile
2un +atc8 !ile and &ait K M&ait until t8e process closesN
2un -S/ !ile
2un -S/ !ile and &ait K M&ait until t8e process closesN
Delete 2unnin$ 'xecuta)le
&ait 38ile 'xecuta)le is 2unnin$
&ait 38ile S8ell .pp is 2unnin$
Set Compati)ilit6 -ode
=T Ser+ice
5ppen6i9es < 566=7p6ate 09ecution tem 31
Create Ser*ice
Create /nteracti*e Ser*ice
Create :ernel Ser*ice
Create !ile Ser*ice
Create S8ared Ser*ice
Create /nteracti*e S8ared Ser*ice
Start Ser*ice
Stop Ser*ice
Pause Ser*ice
Continue Ser*ice
2emo*e Ser*ice
Set Ser*ice Description
Ser+ers G Dri+ers
2e$ister 0C"<C0- Ser*er
1n2e$ister 0C"<C0- Ser*er
0D+C Confi$ Data Source
/nstall Screen Sa*er
/nstall ./! !ile
2e$ister .'5 .ssem)l6
1n2e$ister .'5 .ssem)l6
&&S
Create //S =irtual Director6
2emo*e //S =irtual Director6
Create //S .pplication
2emo*e //S .pplication
G#C
/nstall .ssem)l6 in t8e >.C
1n/nstall .ssem)l6 from t8e >.C
'6!
Set 6% )it State
Set #2 )it State
2estore 0ri$inal Setup State
%egistry
Create 2e$istr6 :e6
2emo*e 2e$istr6 :e6
Create 2e$istr6 =alue MStrin$N
Create 2e$istr6 =alue M/nte$erN
Create 2e$istr6 =alue MHexN
Create 2e$istr6 =alue M-ultiStrin$N
Create 2e$istr6 =alue M'xpandStrin$N
.ppend 2e$istr6 =alue MStrin$N
2emo*e 2e$istr6 =alue
2ead 2e$istr6 =alue
.ppend 2e$istr6 =alue M-ultiStrin$N
/nstall 2'> !ile
'() File
&rite "-L =alue
Delete "-L =alue
2ead "-L =alue
5ppen6i9es < 566=7p6ate 09ecution tem 32
Create "-L ode
Delete "-L ode
&=& File
&rite // /tem
Delete // /tem
Delete // Section
2ead // /tem
*n+iron,ent
Create 'n*ironment =aria)le
2emo*e 'n*ironment =aria)le
2ead 'n*ironment =aria)le
Te/t File
.ppend 5ext to a !ile K M.dd @PC for e3Line 7 @5C for 5.+N
2eplace 5ext in !ile
2eplace 5ext in !ile C2X5.+
File #ssociation
Create !ile .ssociation
2emo*e !ile .ssociation
Set !ile .ssociation Description
Set !ile .ssociation /con
Set"p Dialog
Set Space 2eEuired on Dri*e
.DD to Space 2eEuired on Dri*e
Set Propose to 2estart t8e PC
Set Propose to Launc8 t8e .pp.
Set Dialo$ to
Set >roup
2efres8 2un5imeDir
+ro3se for !older
+ro3se for !ile
Set Setup 56pe
'na)le Setup Dialo$
'na)le Dialo$ +utton
Set 'dit 5ext
C"sto, Dialogs
Set Control Propert6
>et Control Propert6
9ariables
Set =aria)le =alue
Perform =aria)le -at8 K M X K T < N
2eplace 5ext in =aria)le
Select one of man6
/nput text strin$
/nput text strin$ Mman6N
Set Case Sensiti*e
Set &8ole &ord
(iscellaneo"s
Displa6 -essa$e K M.dd @PC for e3Line 7 @5C for 5.+N
S8o3 Pop1p -essa$e
5ppen6i9es < 566=7p6ate 09ecution tem 33
Hide Pop1p -essa$e
&ait M-SN
Set Setup 'xit Code
2estart t8e PC
'xit K M.)ort t8e setupN
+rea, K MStop execution of H'xecuteH itemN
TH"N
/f a condition e*aluates to 521' or t8e operation is unconditionalI up to # operations
3ill )e performed. Define t8e reEuired operation and ma,e sure 6ou c8ec, t8e
C8ec,)ox t8at precede it.
&(P<%T#=TD
Lou can 8a*e up to 6 5H' operations )6 1nC8ec,in$ t8e *)S* C8ec,+ox.
"LS"
/f a condition e*aluates to !.LS'I up to # operations 3ill )e performed. Define t8e
reEuired operation and ma,e sure 6ou c8ec, t8e C8ec,)ox t8at precede it.
Next / Pre#
1se t8ese )uttons to scroll t8rou$8 all t8e execution items 6our project includes.
Cop$
Clic, t8is )utton to cop6 t8e content of t8e current 'xecution /tem to t8e clip)oard.
Paste
Clic, t8is )utton to paste t8e content of clip)oard to t8e current 'xecution /tem.
9#%&#0)*S
1sin$ t8e 'xecute 'n$ine 6ou can SetI Compare 7 1se internal *aria)les.
58e follo3in$ commands are =aria)le relatedD
Set =aria)le =alue
Select one of man6
Perform =aria)le -at8
/nput text strin$
Set Case Sensiti*e
Set &8ole &ord
2ead 2e$istr6 =alue K M/nto a *aria)leN
2ead // /tem K M/nto a *aria)leN
2ead 'n*ironment =aria)le K M/nto a *aria)leN
Compare 1 =aria)le
Compare 2 =aria)les
5ext !ound in =aria)le
=aria)le !ound in 5ext
=aria)le !ound in =aria)le
Perform =aria)le -at8
5ppen6i9es < 566=7p6ate 09ecution tem 3'
Detailed description of t8e commands ma6 )e found atD
333.pantara6.com<execute.8tml
. *aria)le is a strin$ item in t8e form =aria)leameQ=aria)le=alue.
&8ere e*er it is le$al to enter a director6 alias 6ou ma6 also enter a =aria)leame in t8e
formD @=aria)leameC.
=aria)les are ,ept across t8e entire Setup sessionI t8us 6ou can define a *aria)le at
HSetup StartH and use it a HSetup 'ndH.
=aria)les are also sa*ed from setup to uninstallI t8us 6ou can define a *aria)le durin$ t8e
setup process and use it durin$ t8e 1n/nstall process.
5ppen6i9es < 566=7p6ate 09ecution tem 3(
5ariable "xamples4
CommandD Set 9ariable 9al"e
.r$umentK1D -6Director6
.r$umentK2D CD;Pro$ram !iles;-6SampleDir
58is command 3ill create t8e follo3in$ *aria)leD
ameD H-6Director6H
=alueD HCD;Pro$ram !iles;-6SampleDirH
CommandD Display (essage
.r$umentK1D -6 Director6 ame isD @-6Director6C
&8en run t8is command 3ill displa6 a messa$e )ox 3it8 t8e textD
-6 Director6 ame isD CD;Pro$ram !iles;-6SampleDir
CommandD Create Directory
.r$umentK1D @-6Director6C
&8en run t8is command 3ill create t8e follo3in$ director6D
CD;Pro$ram !iles;-6SampleDir
CommandD Set 9ariable 9al"e
.r$umentK1D -6Director62
.r$umentK2D -6PersonalDir
58is command 3ill create t8e follo3in$ *aria)leD
ameD H-6Director62H
=alueD H-6PersonalDirH
CommandD Create Directory
.r$umentK1D @&inDirC;@-6Director62C
&8en run t8is command 3ill create t8e follo3in$ director6D
CD;&indo3s;-6PersonalDir
C+'P)-*NG 5ariables
58e follo3in$ 2 condition commands ma6)e used to compare *aria)lesD
Compare 1 =aria)le
Compare 2 =aria)les
58e first command compare a *aria)le *alue 3it8 a constant.
58e second command compares 2 *aria)les.
.s mentioned )efore all *aria)le *alues are ,ept as strin$s K 8o3e*er )efore a compare is
performedI GSetup 3ill attempt to con*ert )ot8 items to a numerical *alue M/nte$er or
realNI onl6 /f +05H attempts are successful t8e comparison 3ill )e made on numerical
*alues ot8er3ise it 3ill )e a strin$ compare.
*'#(P)*A
11.9 is $reater t8en 9.11 K Mumerical compareN.
11A9 is smaller t8en 9A11 K MStrin$ compare and H1H is smaller t8en H9HN.
5ppen6i9es < 566=7p6ate 09ecution tem 3)
Set Case Sensiti+e
1se t8is command to define if Strin$ Compares and Strin$ Searc8es are
CaseSensiti+e.
+6 default CaseSensiti+e is 521'.
Set >ole >or1
1se t8is command to define if Strin$ Searc8es are performed on >ole>or1s onl6.
+6 default >ole>or1 is !.LS'.
Command Line Parameters
&8en runnin$ t8e setup pro$ram 6ou can define *aria)les on t8e command line to )e
used )6 t8e H'xecute 'n$ineH.
58e s6ntax is simmilar to t8e follo3in$D
<O=ar1PQ12#% <O-6amePQSo8n
58ere is no limit to t8e num)er of *aria)les 6ou can define in t8is 3a6.
"xecution DLL File
&e 8a*e included in t8e pro$ram se*eral predefined Conditions and predefined
'xecutions.
Ho3e*er if 6ou need a special Condition or 'xecution t8at is not included in t8e pro$ramI
6ou can add it 6ourself )6 includin$ it in a special purpose DLL or H.cti*e" DLLH.
Sample code for t8e DLL can )e found in t8e director6 Sa,pleD))s under t8e GSetup
director6.
58e DLL must export at least # functions 3it8 t8e follo3in$ protot6peD
C2C33 Code4
""(eclspec)(llexport* i+t ""c(ecl ,etDllVersio+)*
""(eclspec)(llexport* ch&r2 ""c(ecl ,etCo+(itio+7li&s)i+t +1 ch&r2
9'f*
""(eclspec)(llexport* ch&r2 ""c(ecl ,etExec'tio+7li&s)i+t +1 ch&r2
9'f*
Pascal Code4
f'+ctio+ ,etDllVersio+: i+te!er4 c(ecl4
f'+ctio+ ,etCo+(itio+7li&s)+: i+te!er4 9'f: 5Ch&r*: 5Ch&r4 c(ecl4
f'+ctio+ ,etExec'tio+7li&s)+: i+te!er4 9'f: 5Ch&r*: 5Ch&r4 c(ecl4
5isual %asic Code4
5'6lic F'+ctio+ ,etDllVersio+)* 7s 8+te!er
5'6lic F'+ctio+ ,etCo+(itio+7li&s)+ 7s Lo+!1 7li&s 7s -tri+!* 7s
-tri+!
5'6lic F'+ctio+ ,etExec'tio+7li&s)+ 7s Lo+!1 7li&s 7s -tri+!* 7s
-tri+!
C6 Code4
5'6lic i+t ,etDllVersio+)*
p'6lic stri+! ,etCo+(itio+7li&s)i+t +1 stri+! D'mmy*
5ppen6i9es < 566=7p6ate 09ecution tem 3+
p'6lic stri+! ,etExec'tio+7li&s)i+t +1 stri+! D'mmy*
5%.N"T Code4
5'6lic F'+ctio+ ,etDllVersio+)* 7s 8+te!er
5'6lic F'+ctio+ ,etCo+(itio+7li&s)9yV&l + 7s 8+te!er1 9yV&l "&li&s
7s -tri+!* 7s -tri+!
5'6lic F'+ctio+ ,etExec'tio+7li&s)9yV&l + 7s 8+te!er1 9yV&l "&li&s
7s -tri+!* 7s -tri+!
58e return *alue of t8e first H>etDll=ersionH function must )e 1.
58e DLL or H.cti*e" DLLH ma6 include up to 14 Conditions and up to 14 'xecutions K
mar,ed M4..9NI 3it8 t8e follo3in$ protot6peD
C2C33 Code4
""(eclspec)(llexport* i+t ""c(ecl ,etCo+(itio+"#)/0$D 0+(1 i+t
-t&!e1 ch&r2 7r!1 ch&r2 7r!?1 ch&r2 7r!@*
""(eclspec)(llexport* i+t ""c(ecl ,etCo+(itio+")/0$D 0+(1 i+t
-t&!e1 ch&r2 7r!1 ch&r2 7r!?1 ch&r2 7r!@*
...
""(eclspec)(llexport* i+t ""c(ecl ,etCo+(itio+"O)/0$D 0+(1 i+t
-t&!e1 ch&r2 7r!1 ch&r2 7r!?1 ch&r2 7r!@*
""(eclspec)(llexport* i+t ""c(ecl -etExec'tio+"#)/0$D 0+(1 i+t
-t&!e1 ch&r2 7r!1 ch&r2 7r!?1 ch&r2 7r!@*
""(eclspec)(llexport* i+t ""c(ecl -etExec'tio+")/0$D 0+(1 i+t
-t&!e1 ch&r2 7r!1 ch&r2 7r!?1 ch&r2 7r!@*
...
""(eclspec)(llexport* i+t ""c(ecl -etExec'tio+"O)/0$D 0+(1 i+t
-t&!e1 ch&r2 7r!1 ch&r2 7r!?1 ch&r2 7r!@*
Pascal Code4
f'+ctio+ ,etCo+(itio+"#)0+(: /0$D4 -t&!e: i+te!er4 7r!17r!?17r!@:
5Ch&r*: i+te!er4 c(ecl4
f'+ctio+ ,etCo+(itio+")0+(: /0$D4 -t&!e: i+te!er4 7r!17r!?17r!@:
5Ch&r*: i+te!er4 c(ecl4
...
f'+ctio+ ,etCo+(itio+"O)0+(: /0$D4 -t&!e: i+te!er4 7r!17r!?17r!@:
5Ch&r*: i+te!er4 c(ecl4
f'+ctio+ -etExec'tio+"#)0+(: /0$D4 -t&!e: i+te!er4 7r!17r!?17r!@:
5Ch&r*: i+te!er4 c(ecl4
f'+ctio+ -etExec'tio+")0+(: /0$D4 -t&!e: i+te!er4 7r!17r!?17r!@:
5Ch&r*: i+te!er4 c(ecl4
...
f'+ctio+ -etExec'tio+"O)0+(: /0$D4 -t&!e: i+te!er4 7r!17r!?17r!@:
5Ch&r*: i+te!er4 c(ecl4
5isual %asic Code4
5'6lic F'+ctio+ ,etCo+(itio+"#)0+( 7s Lo+!1 -t&!e 7s Lo+!1 7r! 7s
-tri+!1 7r!? 7s -tri+!1 7r!@ 7s -tri+!* 7s 8+te!er
5'6lic F'+ctio+ ,etCo+(itio+")0+( 7s Lo+!1 -t&!e 7s Lo+!1 7r! 7s
-tri+!1 7r!? 7s -tri+!1 7r!@ 7s -tri+!* 7s 8+te!er
...
5'6lic F'+ctio+ ,etCo+(itio+"O)0+( 7s Lo+!1 -t&!e 7s Lo+!1 7r! 7s
-tri+!1 7r!? 7s -tri+!1 7r!@ 7s -tri+!* 7s 8+te!er
5ppen6i9es < 566=7p6ate 09ecution tem 32
5'6lic F'+ctio+ -etCo+(itio+"#)0+( 7s Lo+!1 -t&!e 7s Lo+!1 7r! 7s
-tri+!1 7r!? 7s -tri+!1 7r!@ 7s -tri+!* 7s 8+te!er
5'6lic F'+ctio+ -etCo+(itio+")0+( 7s Lo+!1 -t&!e 7s Lo+!1 7r! 7s
-tri+!1 7r!? 7s -tri+!1 7r!@ 7s -tri+!* 7s 8+te!er
...
5'6lic F'+ctio+ -etCo+(itio+"O)0+( 7s Lo+!1 -t&!e 7s Lo+!1 7r! 7s
-tri+!1 7r!? 7s -tri+!1 7r!@ 7s -tri+!* 7s 8+te!er
&(P<%T#=T =ote for 90 Progra,,ers
58e =+Aame attri)ute -1S5 +'D H'xecH.
!or instructions on 8o3 to compile t8e =+ code please read t8e file
HHo35oCompileSamples.txtH found in t8e =+ director6.
C6 Code4
p'6lic i+t ,etCo+(itio+"#)i+t 0+(1 i+t -t&!e1 stri+! 7r!1 stri+!
7r!?1 stri+! 7r!@*
p'6lic i+t ,etCo+(itio+")i+t 0+(1 i+t -t&!e1 stri+! 7r!1 stri+!
7r!?1 stri+! 7r!@*
...
p'6lic i+t ,etCo+(itio+"O)i+t 0+(1 i+t -t&!e1 stri+! 7r!1 stri+!
7r!?1 stri+! 7r!@*
p'6lic i+t ,etCo+(itio+"#)i+t 0+(1 i+t -t&!e1 stri+! 7r!1 stri+!
7r!?1 stri+! 7r!@*
p'6lic i+t ,etCo+(itio+")i+t 0+(1 i+t -t&!e1 stri+! 7r!1 stri+!
7r!?1 stri+! 7r!@*
...
p'6lic i+t ,etCo+(itio+"O)i+t 0+(1 i+t -t&!e1 stri+! 7r!1 stri+!
7r!?1 stri+! 7r!@*
5%.N"T Code4
p'6lic i+t -etExec'tio+"#)i+t 0+(1 i+t -t&!e1 stri+! 7r!1 stri+!
7r!?1 stri+! 7r!@*
p'6lic i+t -etExec'tio+")i+t 0+(1 i+t -t&!e1 stri+! 7r!1 stri+!
7r!?1 stri+! 7r!@*
...
p'6lic i+t -etExec'tio+"O)i+t 0+(1 i+t -t&!e1 stri+! 7r!1 stri+!
7r!?1 stri+! 7r!@*
5ppen6i9es < &hec> Depen6ency 33
C0ec& Dependenc$
&8en 6ou deli*er 6our pro$ram to a customer 6ou must ma,e sure 6ou also deli*er all t8e
DLL and 0C" files t8at 6our pro$ram depends on.
58e HC8ec, Dependenc6H option 3ill 8elp 6ou find out 38at DLLs and 0C"s are reEuired.
DLLs ma6 )e lin,ed to 6our pro$ram in 2 3a6s Staticall6 7 D6namicall6.
Static )in6ing
Static Lin,ed DLLs are t8ose lin,ed to 6our pro$ram )6 t8e Compiler or Lin,er at
Compile time.
58ose files ma6 )e identified )6 performin$ a static c8ec,. /n t8is c8ec, t8e '"' file is
scanned and t8e names of t8e lin,ed files are read from t8e fileJs 8eader.
o need to actuall6 run t8e executa)le.
Dyna,ic )in6ing
D6namic Lin,ed DLLs and 0C"s are t8ose lin,ed to 6our pro$ram at run time usuall6
usin$ t8e HLoadLi)rar6H .P/ call. 5o identif6 t8ose filesI t8e scanner must 21 6our
pro$ram and identif6 eac8 DLL or 0C" as 6our pro$ram attempts to load it at runtime.
5o learn more a)out t8e t8eor6 of t8e su)ject $otoD 333.dependenc63al,er.com.
Static C0ec&
Static Cec6 #ll
&8en 6ou clic, t8is )utton t8e scanner 3ill perform a HStatic C8ec,H on all t8e '"'I
DLL 7 0C" files found in 6our setup.
Lou can )ro3se t8e list of all a*aia)le files )6 clic,in$ t8e arro3 on t8e H!ile ameH
Com)o+ox.
.ll Staticall6 lin,ed files 3ill )e displa6ed in )lue.
Static Cec6
&8en 6ou clic, t8is )utton t8e scanner 3ill perform a HStatic C8ec,H onl6 on t8e file
t8at its name is displa6ed in t8e H!ile ameH Com)o+ox.
.ll Staticall6 lin,ed files 3ill )e displa6ed in )lue.
D$namic C0ec&
Start
&8en 6ou clic, t8is )utton t8e scanner 3ill perform a HD6namic C8ec,H on t8e file
t8at its name is dipla6ed in t8e H!ile ameH Com)o+ox.
58e scanner 3ill run t8e file and monitor an6 calls commin$ from inside t8e
executa)le 38ile it is runnin$.
.t t8is point of time 6ou s8ould start PL.L/> 3it8 t8e pro$ram in suc8 a 3a6 t8at it
3ill $o t8rou$8 all its options to ma,e sure t8at an6 D6namic lin,ed file is actuall6
loaded.
/f needed 6ou ma6 add HParametersH to run t8e executa)le. MParameters are data
items li,e document name t8at 6ou normall6 add on t8e command line 38en 6ou
start an applicationN.
.ll D6namicall6 lin,ed files 3ill )e displa6ed in red.
Stop
Clic, t8is )utton to Stop t8e HD6namic C8ec,H test.
5ppen6i9es < &hec> Depen6ency 100
&,portant Files
58e scanner 3ill list all t8e lin,ed files 38en it runs. Ho3e*er man6 of t8ose files are
&indo3s $eneric and need not )e included in 6our setup. Lou s8ould include in 6our
setup onl6 t8ose files t8at 6our pro$ram is addin$. 58e scanner 3ill do its )est to
identif6 t8e /mportant files for 6ou. .ll important files 3ill )e displaed 3it8 +0LD font
and t8eir C8ec,+ox 3ill )e c8ec,ed.
Lou ma6 c8ec, or unc8ec, an6 file later as needed.
#11 Files
.fter t8e scan is finnis8ed clic, t8e ?#11 Files@ )utton to add t8e ne3 files to 6our
installation deli*er6. 0nl6 files t8at are c8ec,ed 3ill )e added. 58e files 3ill )e added to
t8e current director6I 6ou can t8en mo*e t8em to anot8er director6 usin$ Dra$ 7 Drop.

5ppen6i9es < 56$ance6 5uto 7p6ate 101
)d#anced )uto ,pdate

58e follo3in$ section explains 8o3 6ou can ac8ie*e )etter control of t8e .uto 1pdate
process K usin$ direct communication )et3een 6our #pplication and t8e #gent.
5o ta,e ad*anta$e of t8e options listed 8ere 6ou must )e an experienced &indo3s
pro$rammer 3it8 solid understandin$ of H&indo3s -essa$esH pro$rammin$.


T0e Concept
58e H.uto 1pdateH process as descri)ed so far is desi$ned to 3or, automaticall6 3it8
minimum inter*ention of t8e .pplication t8at is )ein$ updated. /n t8e follo3in$ section
3e 3ill explain 8o3 6ou can ac8ie*e )etter control of t8e H.uto 1pdateH process from
3it8in 6our runnin$ .pplication. +asicall6 control is ac8ie*ed )6 exc8an$in$ messa$es
)et3een t8e runnin$ .pplication and t8e .$ent.


"stablis0in a Communication C0annel
Communication is performed usin$ &indo3s -essa$es.
58e .pplication 3ill send a &indo3s -essa$e to t8e .$ent usin$ Sen1(essageCD or
Post(essageCD.
58e .$ent 3ill send a &indo3s -essa$e to t8e .pplication usin$ Sen1(essageCD or
Post(essageCD.

58e process is initiated )6 t8e .pplication.
58e .pplication defines a -essa$e MLetJs call it -s$.ppN.
58e .pplication defines a &indo3 8andle MLetJs call it &nd.ppN.
58e .pplication informs t8e .$ent of t8is t3o data items usin$ >in*/ecCD.

!rom no3 on 38en e*er t8e #gent needs to send information to t8e #pplication it 3ill
use a command li,e t8isD
Send-essa$eM&nd.ppI -s$.ppI 3ParamI lParamN[
.ctual data 3ill )e carried in 3Param 7 lParam.

/n 2esponse to t8e >in*/ecCD command t8e .$ent 3ill send 2 messa$es )ac, to t8e
.pplication.
58e first messa$e 3ill carr6 t8e &indo3Js 8andle of t8e .$ent MLetJs call it &nd.$ntN.
58e second messa$e 3ill carr6 t8e defined -essa$e of t8e .$ent MLetJs call it
-s$.$ntN.

!rom no3 on 38en e*er t8e #pplication needs to send information to t8e #gent it 3ill
use a command li,e t8isD
Send-essa$eM&nd.$ntI -s$.$ntI 3ParamI lParamN[
.ctual data 3ill )e carried in 3Param 7 lParam.

To establis a co,,"nication cannel perfor, te following operationsA

Define a special &indo3s -essa$e t8at is uniEue to 6our application. &e
su$$est t8at 6ou define a messa$e in t8e ran$e 1244..1#44 MDecimalN.
.dd to 6our main &indo3s Procedure an entr6 t8at 3ill )e sensiti*e to t8is
messa$e.
5ppen6i9es < 56$ance6 5uto 7p6ate 102
Call t8e .$ent 3it8 a command line similar to t8e follo3in$D
&in'xecMHP8one+oo,1pdate.'"' <&-A-S>Q&&&D---HI4N[
&&& Q &nd.pp MDecimal *alueN.
--- Q -s$.pp MDecimal *alueN.
58e a$ent 3ill respond 3it8 2 messa$es sent to t8e &nd.pp.
58e !irst messa$e 3ill 8a*e t8e follo3in$ dataD
3Param Q .1A/nform.$entH&D M(4N.
lParam Q 58e H&nd of t8e .$ent.
Lou must record t8e lParam in 6our application.
58e Second messa$e 3ill 8a*e t8e follo3in$ dataD
3Param Q .1A/nform.$ent-S> M(1N.
lParam Q 58e special messa$e 6ou 3ill use 38en 6ou call t8e .$ent.
Lou must record t8e lParam in 6our application.
.t t8e end of t8is processI t8e .pplication ,no3s 8o3 to send messa$es to t8e .$entI
and 58e .$ent ,no3s 8o3 to send messa$es to t8e .pplication.
'essae Structure
!ollo3in$ &indo3s con*entionsI e*er6 -essa$e include % items of informationD 8>n1M
(essageM wPara, 7 lPara,. . messa$e ma6 also return a %es"lt code.
&e use t8ose items as follo3sD
8>n1 K t8e H&indo3 to 38ic8 t8e -essa$e is )ein$ sent M&nd.pp or
&nd.$nt in our caseN.
(essage K 58e -essa$e identifier M-s$.pp or -s$.$nt in our caseN.
wPara, K /nstruction<2eEuest.
lPara, K .dditional data if reEuired.
%es"lt K 0ptional return code if reEuired.
*nstructions2-eBuests From )pplication to )ent
58e follo3in$ list descri)es all t8e 2eEuests and /nstructions t8e #pplication can send
to t8e #gent.
*/a,pleA
5o as, t8e .$ent 38at is t8e =ersion num)er as stored in t8e .02/>/.L fileI
issue t8e follo3in$ messa$eD

%es V Sen1(essageC>n1#gntM(sg#gntM!M.DN
1pon return t8e %es *aria)le 3ill 8old t8e reEuired information.
/n t8is example ! is t8e #2IGet9ersion<riginal instruction contained in
3Param parameter.

#2IGet9ersion<riginal
3ParamD %
lParamD 4
2esultD =ersionum
DescriptionD 2eturn t8e *ersion num)er as stored in t8e .02/>/.L file.

5ppen6i9es < 56$ance6 5uto 7p6ate 103
#2IGet9ersion&nfo
3ParamD (
lParamD 4
2esultD =ersionum
DescriptionD 2eturn t8e *ersion num)er as stored in t8e ./!0 file.

#2IGet#gentStat"s
3ParamD 7
lParamD 4
2esultD 4Q/dleI 1QDL/nfoI 2QDLDataI #Q1pdatin$
DescriptionD 2eturn t8e current status of t8e .$ent.

#2IGetProbeSecon1s&nter+al
3ParamD 8
lParamD 4
2esultD =alue in Seconds
DescriptionD 2eturn t8e Pro)e inter*al in seconds from t8e .02/>/.L file.

#2IGet%e#s6Secon1s&nter+al
3ParamD 9
lParamD 4
2esultD =alue in Seconds
DescriptionD 2eturn t8e 2e.s, inter*al in seconds from t8e .02/>/.L file.

#2IGetProbeSecon1s)ast
3ParamD 14
lParamD 4
2esultD =alue in Seconds
DescriptionD t8e last time t8e .$ent pro)ed for ne3 *ersion Mcounted in
seconds from 12<#4<1899 12D44 amN.

#2IGet%e#s6Secon1s)ast
3ParamD 11
lParamD 4
2esultD =alue in Seconds
DescriptionD 2eturn t8e last time t8e .$ent .s,ed for permission to update
Mcounted in seconds from 12<#4<1899 12D44 amN.

#2ISetProbeSecon1s&nter+al
3ParamD 12
lParamD 4
2esultD 4
DescriptionD Set t8e Pro)e inter*al in seconds in t8e .02/>/.L file.

#2ISet%e#s6Secon1s&nter+al
3ParamD 1#
lParamD 4
2esultD 4
DescriptionD Set t8e 2e.s, inter*al in seconds in t8e .02/>/.L file.

5ppen6i9es < 56$ance6 5uto 7p6ate 10'
#2ISetProbeSecon1s)ast
3ParamD 1%
lParamD 4
2esultD 4
DescriptionD Set t8e last time t8e .$ent pro)ed for ne3 *ersion Mcounted in
seconds from 12<#4<1899 12D44 amN.

#2ISet%e#s6Secon1s)ast
3ParamD 1(
lParamD 4
2esultD 4
DescriptionD Set t8e last time t8e .$ent .s,ed for permission to update
Mcounted in seconds from 12<#4<1899 12D44 amN.


#2ISet%e;"estConfir,ation0eforeTest
3ParamD 24
lParamD 4Qfalse 1Qtrue
2esultD 4
DescriptionD /nstruct t8e .$ent to 2eEuest for confirmation )efore testin$
for ne3 update L'S<0.

#2ISet%e;"estConfir,ation0eforeDownloa1
3ParamD 21
lParamD 4Qfalse 1Qtrue
2esultD 4
DescriptionD /nstruct t8e .$ent to 2eEuest for confirmation )efore Do3nload
L'S<0.

#2ISet%e;"estConfir,ation0efore&nstall
3ParamD 22
lParamD 4Qfalse 1Qtrue
2esultD 4
DescriptionD /nstruct t8e .$ent to 2eEuest for confirmation )efore /nstall
L'S<0.

#2ISetPerfor,0ac6Gro"n12p1ate
3ParamD 2#
lParamD 4Qfalse 1Qtrue
2esultD 4
DescriptionD /nstruct t8e .$ent to perform t8e update in t8e )ac,$round
L'S<0.

#2ISet&nfor,2ser>en2p1ateFinise1
3ParamD 2%
lParamD 4Qfalse 1Qtrue
2esultD 4
DescriptionD /nstruct t8e .$ent to inform t8e user 38en update is finis8ed
L'S<0.

5ppen6i9es < 56$ance6 5uto 7p6ate 10(
#2ISet%estartProcess>en2p1ateFinise1
3ParamD 2(
lParamD 4Qfalse 1Qtrue
2esultD 4
DescriptionD /nstruct t8e .$ent to restart t8e application 38en 1pdate is
finis8ed L'S<0.

#2IPerfor,Stop#gent
3ParamD #4
lParamD &ait5ime in Seconds
2esultD 4
DescriptionD /nstruct t8e .$ent to Stop itself lParam seconds from no3.

#2IPerfor,2p1ateCycle
3ParamD #1
lParamD 4
2esultD 4
DescriptionD /nstruct t8e .$ent to perform a complete update c6cle 1. Pro)e
for a ne3 ./!0 fileI if a file is foundI anal69e it and do3nload
t8e D.5. fileI and continue to perform 1pdate.
#2IPerfor,Downloa1&nfo
3ParamD #2
lParamD 4
2esultD 4
DescriptionD /nstruct t8e .$ent to do3nload t8e ./!0 file.


*nstructions2-eBuests from )ent to )pplication
58e follo3in$ list descri)es all t8e 2eEuests and /nstructions t8e #gent can send to t8e
#pplication.

#2I&nfor,Downloa1&nfoFile
3ParamD %4
lParamD 1QStart 2Q'nd
2esultD 4
DescriptionD /nform t8e .pplication on Start and 'nd of ./!0 file do3nload.

#2I&nfor,Downloa1DataFile
3ParamD %1
lParamD 1QStart 2Q'nd
2esultD 4
DescriptionD /nform t8e .pplication on Start and 'nd of D.5. file do3nload.

#2I&nfor,2p1ateProcess
3ParamD %2
lParamD 1QStart 2Q'nd
2esultD 4
DescriptionD /nform t8e .pplication on Start and 'nd of t8e 1PD.5'
process.

5ppen6i9es < 56$ance6 5uto 7p6ate 10)
#2I&nfor,#gent&sGoingDown
3ParamD %#
lParamD 4
2esultD 4
DescriptionD /nform t8e .pplication 38en t8e .$ent is closin$ itself.

#2I&nfor,#gent8>=D
3ParamD (4
lParamD 4
2esultD 4
DescriptionD /nform t8e .pplication on t8e H&indo3 to send messa$es to
M-s$&ndN.

#2I&nfor,#gent(SG
3ParamD (1
lParamD 4
2esultD 4
DescriptionD /nform t8e .pplication on t8e -s$.$nt .
5ppen6i9es < 8TP 7p!oa6 10+
FTP ,pload
1se t8is option to 1PL0.D 6our setup fileMsN to t8e /nternet directl6 from t8e ComposerI
usin$ !5P protocol.
Connection Data4
5o esta)lis8 connection 3it8 6our 3e)site usin$ !5P protocol 6ou must suppl6 t8e
follo3in$ lo$in data itemsD
Hostname
1sername
Pass3ord
.fter 6ou enter t8e data clic, t8e ?Directory@ )utton.
/f t8e connection is successfulI 6ou 3ill see t8e root director6 of 6our 3e)site and all its
c8ild directories. Clic, t8e director6 names to na*i$ate to t8e director6 38ere 6ou 3ant to
store 6our Setup fileMsN in.
Lou can use t8e ?(E Dir@ 7 ?%( Dir@ )uttons to create 7 remo*e directories.
FTP Port
.ccordin$ to t8e !5P StandardI t8e default !5P port is 21 MDecimalN.
/f 6our !5P Ser*er is usin$ anot8er portI 6ou can specif6 t8e port )6 addin$ a colon
and t8e ne3 port num)er to t8e 8ostna,e.
*/a,ple 4 ftp.microsoft.comD12#%
Files to ,pload4
58e 1pload dialo$ can )e called from 2 placesD
58e main ?2ploa1@ )utton K at t8e )ottomKleft of t8e Composer screen.
58e ?2ploa1@ )utton on t8e H.uto 1pdateH pa$e.
/n e*er6 optionI a different list of files is presented for uploadin$. Lou can control 38ic8 file
3ill )e actuall6 uploaded )6 C8ec,in$<1nC8ec,in$ t8e rele*ant C8ec,+ox.
,pload
Clic, t8e ?2ploa1@ )utton to upload 6our setup fileMsN to t8e /nternet.
P)*#S* =<T*
/n most !5P client pro$ramsI 6ou must esta)lis8 connection )efore 6ou can
upload 6our files. /n GSetup t8e ?2ploa1@ )utton 3ill perform t8e HConnect -
Upload - DisconnectH c6cle automaticall6 3it8 one clic,.
!or securit6 reasonsI all t8e connection data 6ou enter in t8is dialo$ MHostnameI
1sernameI Pass3ordI etc...N is stored in t8e re$istr6 of 6our PC Mnot in t8e GSP
fileN.
5ppen6i9es < 566in- new !an-ua-e to QSetup 102
)ddin ne. lanuae to CSetup
5o add ne3 lan$ua$e to GSetup create a ne3 lan$ua$e file. 58e file must 8a*e a name t8at
reflects t8e lan$ua$e M!renc8.ln$I >erman.ln$I Spanis8.ln$I etc...N.
58e recommended 3a6 to do itI is )6 cop6in$ t8e H'n$lis8.ln$H file to t8e ne3 file and edit t8e
ne3 file as reEuired.
58e lan$ua$e file is a text file in t8e form of an // file and s8ould )e edited 3it8 an .SC//
plain text editor li,e 05'P.D.
.fter translationI place t8e file in t8e L.> director6I and restart GSetup.
58e first section of t8e lan$ua$e file is called H>eneralH and include t8e follo3in$ dataD
J,e+er&lK
Versio+%?.#
L&+!'&!e%E+!lish
L&+!8D%O
Ch&rset%#
7'thor%5&+t&r&y
D&te%EDECE?##A
/f for instance 6ou 3ant to create a file for t8e 2ussian lan$ua$eI t8e file s8ould )e called
H2ussian.ln$HI and t8e first section s8ould loo, li,e t8isD
J,e+er&lK
Versio+%?.#
L&+!'&!e%R'ssi&+
L&+!8D%?N
Ch&rset%?#A
7'thor%;Ro'r $&me<
D&te%;D&te<
Following is a list of )ang&Ds as 1efine1 by >in1ows
7FR8.77$- % NA
7L97$87$ % ?M
7R798C %
97-I3E % AN
9EL7R3-87$ % @N
93L,7R87$ % ?
C7F7L7$ % @
C/8$E-E % A
CRO7F87$ % ?P
CSEC/ % N
D7$8-/ % P
D3FC/ % O
E$,L8-/ % O
E-FO$87$ % @T
F7EROE-E % NP
F7R-8 % A
F8$$8-/ %
FRE$C/ % ?
5ppen6i9es < 566in- new !an-ua-e to QSetup 103
,ERM7$ % T
,REE. % M
/E9RE0 % @
/3$,7R87$ % A
8CEL7$D8C % N
8$DO$E-87$ % @@
8F7L87$ % P
Q757$E-E % T
.ORE7$ % M
L7FV87$ % @M
L8F/37$87$ % @O
$OR0E,87$ % ?#
5OL8-/ % ?
5ORF3,3E-E % ??
ROM7$87$ % ?A
R3--87$ % ?N
-ER987$ % ?P
-LOV7. % ?T
-LOVE$87$ % @P
-57$8-/ % #
-0ED8-/ % ?O
F/78 % @#
F3R.8-/ % @
3.R78$87$ % @A
V8EF$7ME-E % A?
Following is a list of Carsets as 1efine1 by >in1ows
7$-8"C/7R-EF % #
DEF73LF"C/7R-EF %
-RM9OL"C/7R-EF % ?
-/8FFQ8-"C/7R-EF % ?M
/7$,E3L"C/7R-EF % ?O
,9?@?"C/7R-EF % @A
C/8$E-E98,N"C/7R-EF % @P
OEM"C/7R-EF % ?NN
QO/79"C/7R-EF % @#
/E9RE0"C/7R-EF % TT
7R798C"C/7R-EF % TM
,REE."C/7R-EF % P
F3R.8-/"C/7R-EF % P?
V8EF$7ME-E"C/7R-EF % P@
F/78"C/7R-EF % ???
E7-FE3RO5E"C/7R-EF % ?@M
R3--87$"C/7R-EF % ?#A
Please note
.ll &est 'uropean lan$au$es must use t8e .S/ACH.2S'5 M4N.
.ll 'ast 'uropean lan$au$es must use t8e '.S5'120P'ACH.2S'5 M2#8N.
5ppen6i9es < 566in- new !an-ua-e to QSetup 110
Te following tags a+e special ,eaning
@PC means insert a lineK)rea,.
@5C means insert a 5a).
@+C means Start +0LD text.
@<+C means 'nd +0LD text.
P20>A.-' 3ill )e replaced )6 t8e HPro$ram Descripti*e ameH.
#TT*=T&<=
&8en translatin$ ma,e sure 6ou compl6 3it8 t8e // file
standard K t8at isD
1. Do not c8an$e t8e names of t8e sections.
2. Do not c8an$e t8e names of t8e items.
#. Do not insert 2'512S in t8e middle of a line.
%*72*ST
Please send us a ne3 lan$ua$e file 6ou createdI so t8at 3e can
add it to t8e pro$ram for t8e )enefit of all our users.
Send t8e file toD support\pantara6.com
5ppen6i9es < ,ow to compi!e the samp!es usin- Visua! .asic? 111
Ho. to compile t0e samples usin 5isual %asic=
1. Create a ne3 H.cti*e" dllH project )6 clic,in$ ne3 and selectin$ H.cti*e" dllH from t8e
Hne3 projectH dialo$.
2. !rom t8e *isual )asic HProjectH menu select H.dd fileH and c8oose t8e .cls file supplied.
#. 0pen t8e project properties HProject]Project propertiesH from t8e -enu and set t8e
project name to H=+SerialC8ec,H or H=+'xecH.
%. Delete t8e extra unnecessar6 class1 from t8e project.
(. -a,e t8e .cti*e" dll )6 c8oosin$ !ile]-a,e ... project menu item.
5ppen6i9es < &ustom Dia!o-s 112
Custom Dialos
GSetup is pro*ided 3it8 a list of 12 predefined dialo$s. 58e dialo$s are listed on t8e
HDialo$sH pa$e and 6ou can select 38ic8 Dialo$s 3ill )e displa6ed to 6our customers durin$
t8e setup process.
GSetup also offers 6ou t8e option to define one or more Custom Dialo$s t8at 3ill suite t8e
special needs of 6our setup.
5o define custom dialo$s clic, t8e ?C"sto, Dialogs...@ )utton on t8e HDialo$sH pa$e.
Custom Dialos Desiner
&8en 6ou clic, t8e ?C"sto, Dialogs...@ )utton t8e special HCustom Dialo$s Desi$nerH
tool 3ill open.
1sin$ t8is tool 6ou can create as man6 dialo$s as 6ou 3is8. 'ac8 Dialo$ 3ill contain as
man6 controls as needed from an assortment of t8e 11 most popular controls a*aila)le
under &indo3s.
0nce 6ou define a dialo$ t8is dialo$ 3ill )e added to t8e list of dialo$s found on t8e
HDialo$sH pa$e.
1sin$ t8is list 6ou can do t8e follo3in$D
Set t8e order of t8e dialo$s.
Set an ima$e to t8e top<ri$8t corner of t8e dialo$.
Disa)le t8e dialo$.

58e HCustom Dialo$s Desi$nerH tool 8a*e 2 main areasD
Controls
Dialo$s
Dialos )rea
58is area loo,s *er6 similar to t8e re$ular dialo$ 38en usin$ t8e H-odernH dialo$ st6le.
=ew
5o create a ne3 dialo$ clic, t8e ?=ew@ )utton. /n t8e screen t8at opens enter t8e
HDialo$ ameH. Please note t8at t8e name 6ou enter 8ere 3ill later )e used as t8e title
of t8e dialo$. 58e name 6ou entered 3ill )e added to t8e list of dialo$s in t8e
Com)o+ox and also displa6ed as t8e dialo$ title.
%ena,e
Clic, t8is )utton if 6ou 3ant to modif6 t8e name of t8e current dialo$.
Delete
Clic, t8is )utton if 6ou 3ant to delete t8e current dialo$.
Description
Clic, t8is )utton to enter a more detailed description of t8e purpose of t8e dialo$. 58is
description 3ill )e displa6ed in )old on t8e top 38ite area of t8e dialo$.
#11ing Controls
5o create a dialo$ 6ou merel6 add controls to it. .ddin$ controls is done from t8e
Controls #rea. &8en 6ou add a control it 3ill )e placed on t8e 5op<Left corner of t8e
dialo$.
0nce a control is added 6ou can do t8e follo3in$D
-o*e t8e control to an6 place on t8e form usin$ t8e mouse or 3it8 t8e ,e6)oard.
2esi9e t8e control usin$ t8e mouse or 3it8 t8e ,e6)oard.
Set *arious properties of t8e controlI usin$ t8e Controls #rea.
5ppen6i9es < &ustom Dia!o-s 113
Dialog =a,es Co,bo0o/
Lou ma6 add se*eral dialo$s to a setup. &8en addin$ a ne3 dialo$ its name 3ill )e
added to t8e HDialo$ ames Com)o+oxH. 1sin$ t8is Com)o+ox 6ou can scroll t8rou$8
t8e different dialo$s.
(o1ern5Classic Dialog Style
GSetup offers 2 )asic setup dialo$ st6lesD Classic 7 -odern.
58e HCustom Dialo$ Desi$nerH is desi$ned after t8e -odern dialo$ st6le.
&e recommend t8at 38en 6ou add custom dialo$s to 6our setup 6ou 3ill use t8e
H-odern Dialo$ St6leH.
Lou can still add Custom Dialo$s to a HClassic Dialo$ St6leHI 8o3e*er 6ou 3ill 8a*e to
ta,e extra care 38en addin$ controls and place t8em at t8e 5op<Left area of t8e Dialo$
form.
Controls )rea
1sin$ t8is area 6ou 3ill add controls to 6our Custom Dialo$.
#11
5o add a control clic, t8e ?#11@ )utton. 58e H.dd ControlH screen 3ill open.
/n t8is screen 6ou can select an6 of t8e follo3in$ controlsD
La)el
>roup+ox
+utton
-emo
'dit
Panel
C8ec,+ox
2adio+utton
Com)o+ox
2adio>roup
List+ox
0nce 6ou select a controlI it 3ill )e placed on t8e current Dialo$ formI and its
properties 3ill )e displa6ed in t8e Properties area.
Properties
58e follo3in$ properties are common to all controlsD
=a,e K 58e name of t8e controlI -1S5 )e uniEue.
<nClic6<<nCange K Here 6ou 3ill enter t8e action reEuired 38en t8e control
is clic,ed or c8an$ed Mif neededN.
' K 58e " location of t8e control on t8e dialo$ form.
B K 58e L location of t8e control on t8e dialo$ form.
> K 58e 3idt8 of t8e control.
8 K 58e 8ei$8t of t8e control.
Te/t K 58e text or title McaptionN of t8e control.
0ol1 K Set t8is propert6 to H5rueH if 6ou 3ant t8e text to )e displa6ed in +old.
9isible K Set t8is propert6 to H!alseH to 8ide t8e control.
*nable1 K Set t8is propert6 to H!alseH to disa)le t8e control.
0i1i*nable1 K &8en t8is propert6 is set to H5rueH and t8e lan$ua$e of t8e setup
is HHe)re3H or H.ra)icH t8e control 3ill c8an$e to 2i$8t5oLeft orientation.
5ppen6i9es < &ustom Dia!o-s 11'
58e follo3in$ properties are a*aila)le in some of t8e controls onl6D
Passwor1 K M'dit controlN
Set t8is propert6 to H5rueH to displa6 entered c8aracters as 2.
0e+el K MPanel controlN
Set t8is propert6 to H2aisedH or HLo3eredHI t8is 3ill define t8e )order of t8e
Panel.
Cec6e1 K MC8ec,+ox controlN
Set t8is propert6 to H5rueH to ma,e t8e C8ec,+ox HC8ec,edH.
*/cl"si+eGro"p K MC8ec,+oxI 2adio+uttonN
58e default *alue of t8is propert6 is 4 M9eroN.
&8en t8is propert6 is set to ReroI t8e rele*ant C8ec,+ox<2adio+utton 8as no
influence on t8e ot8er C8ec,+oxes<2adio+utton in t8e dialo$.
/f 6ou 8a*e some C8ec,+oxes<2adio+uttons on 6our dialo$ and all 8a*e t8e
same H'xclusi*e>roupH *alue 38ic8 is $reater t8e 4 M9eroN t8en 38en 6ou clic,
one C8ec,+ox<2adio+uttons all t8e ot8ers 3ill )e 1nC8ec,ed.
C8ec,+oxes 8a*e no influence on 2adio+uttons and *ice *ersa.
Strings K MCom)o+oxI 2adio>roupI List+oxN
'nter 8ere some text *alues separated )6 a comma.
SampleD C0-1IC0-2IC0-#IC0-%.
.ll t8e items 6ou entered 3ill )e a*aila)le in t8e control for selection.
&te,&n1e/ K MCom)o+oxI 2adio>roupI List+oxN
58is is an inte$er *alue t8at starts from 4 MReroN. 58is *alue indicates t8e
num)er of t8e t8e selected item.
/f t8e *alues for selection areD C0-1IC0-2IC0-#IC0-% and HC0-#H is
selected t8en H/tem/ndexH 3ill 8a*e t8e *alue of 2.
>or1>rap K MLa)el controlN
&8en t8is propert6 is set to H5rueH t8e text of t8e La)el 3ill 3rap if it is too
lon$.
&8en t8is propert6 is set to H5rueH t8e s6stem 3ill ta,e into consideration t8e
& 7 H properties 38en calculatin$ t8e area of t8e la)le text.

(ini,iSePat K MLa)el controlN
&8en t8is propert6 is set to H5rueH t8e text of t8e La)el 3ill minimi9e if it is too
lon$.
58is propert6 is *alid onl6 if t8e text in t8e la)le represents a file Pat8 and t8e
pat8 includes t8e )ac,slas8 c8aracter.
&8en t8is propert6 is set to H5rueH t8e s6stem 3ill ta,e into consideration t8e
& propertie 38en calculatin$ t8e area of t8e la)le text.
.ll properties except =a,e can )e 'dited<-odified in t8e Properties list.
.ll properties can )e read at setup time usin$ t8e H'xecute 'n$ineH.
.ll properties except =a,e G <nClic6 can )e 3ritten at setup time usin$ t8e H'xecute
'n$ineH.
("ltiline Te/t
58e -emo 7 La)el controls can accept -ultiline text.
5ppen6i9es < &ustom Dia!o-s 11(
5o add a LineK+rea, enter t8e HPK alias.
5o add a 5a) enter t8e HTK alias.
(o+ing a Control "sing te (o"se
-o*e t8e mouse to t8e center of t8e control.
&8en t8e mouse pointer c8an$e to a fin$er iconI press t8e left mouse )utton.
Dra$ t8e control to t8e reEuired location.
2elease t8e mouse.
SiSing a Control "sing te (o"se
-o*e t8e mouse near t8e ed$e or corner of t8e control.
&8en t8e mouse pointer c8an$e to t8e proper arro3I press t8e left mouse )utton.
-o*e t8e mouse until t8e control reac8 t8e reEuired si9e.
2elease t8e mouse.
(o+ing a Control "sing te Eeyboar1
Clic, t8e reEuired control to select it.
Clic, t8e .rro3 ,e6s 38ile 8oldin$ t8e HCtrlH ,e6.
SiSing a Control "sing te Eeyboar1
Clic, t8e reEuired control to select it.
Clic, t8e .rro3 ,e6s 38ile 8oldin$ t8e HS8iftH ,e6.
Lou can also mo*e or si9e a control )6 directl6 editin$ its "ILI&IH properties.
%ena,e
5o rename a control clic, t8e ?%ena,e@ )utton.
&8en 6ou enter a ne3 name o)ser*e t8e follo3in$ rulesD
1. . name must )e uniEue in all t8e dialo$s.
2. 58e name can 8a*e onl6 .lp8a umeric c8aracters and t8e JAJ c8aracter.
#. ames are 05 case sensiti*e.
<r1er of Controls
1sin$ t8e 2 .rro3 +uttonsI 6ou can mo*e a control up or do3n in t8e controls list.
58e order of a control 3ill define its *isi)ilit6 38en controls are placed one on top of t8e
ot8er.
. HLaterH control 3ill )e placed on top of a HPre*iousH control.
Pre#ie.D %utton
Clic, t8e ?Pre+iewR@ )utton to enter HPre*ie3H mode.
/n t8is mode 6ou 3ill see 8o3 t8e dialo$ 3ill loo, li,e durin$ actual installation.
/f 6ou 8a*e alread6 created se*eral dialo$s clic, t8e ?=e/t K@ and ?H 0ac6@ )uttons to
scroll t8rou$8 t8e dialo$s.
5o exit Pre*ie3 mode clic, t8e ?Pre+iewR@ )utton once a$ain or clic, t8e ?Cancel@
)utton.
%idi Test C0ec&%ox
&8en t8is option is c8ec,edI all controls t8at 8a*e t8eir +idi'na)led propert6 set to
5rue 3ill c8an$e to 2i$8t5oLeft orientation.
5ppen6i9es < &ustom Dia!o-s 11)
Sa#e %utton
1se t8is )utton to sa*e t8e dialo$ information. &8en clic,in$ t8is )utton t8e information
3ill )e added to t8e GSP fileI and t8e GSP file immediatel6 stored to t8e dis,.
.lso t8e names of t8e ne3l6 added Dialo$s 3ill appear in t8e dialo$s list of t8e
HDialo$sH pa$e 8i$8li$8ted 3it8 )lue color.
Tools %utton
Clic, t8is )utton to select an6 of t8e follo3in$ ser*ice operationsD
Copy Control
Cop6 t8e current control to t8e clip)oard.
Paste Control
Paste a control from t8e clip)oard to t8e current dialo$.
Copy Dialog
Cop6 t8e current dialo$ to t8e clip)oard.
Paste Dialog
Paste a dialo$ from t8e clip)oard to t8e toolI t8us addin$ a ne3 dialo$.
*/port Dialog
Sa*e t8e current dialo$ to a fileI t8e file name 3ill 8a*e t8e extension T.Espdl$.
&,port Dialog
2ead a dialo$ file from t8e dis, into t8e toolI t8us addin$ a ne3 dialo$.
#lign to Gri1
&8en t8is option is c8ec,ed MdefaultN all controls 3ill )e ali$ned to a *irtual $rid
38en mo*ed 3it8 t8e mouse. 58is option 8as no effect 38en mo*in$ t8e control
usin$ t8e ,e6)oard or )6 direct editin$ of t8e "ILI&IH properties.
Gri1
Select t8e *irtual >rid resolution. Lou can select an6 of t8e follo3in$ *aluesD
2I#I%I(I6I8I14I12I1%I16. &e recommend t8at 6ou use t8e *alue of % MdefaultN. 58is
*alue pro*ides t8e )est compromise )et3een detailness and ease of use.
ToolTip
&8en t8is option is c8ec,ed and 6ou mo*e t8e mouse o*er a controlI t8e control
coordinates 3ill )e displa6ed in t8e mouse tooltip.
)ang"age S"pport
Select )ang"age S"pport... to open a special HLan$ua$e SupportH dialo$.
1sin$ t8is dialo$ 6ou can translate all t8e p8rases of t8e custom dialo$s 6ou
createdI to e*er6 lan$ua$e 6ou 3ant to support in 6our setup.
5o test t8e influence of t8e lan$ua$e support on 6our Cusom Dialo$s 6ou must
close t8e HCustom Dialo$s Desi$nerH and clic, t8e OPre*ie3P )utton on t8e
+ottom<2i$8t of t8e Composer.

5ppen6i9es < &ustom Dia!o-s 11+
&(P<%T#=T
5o properel6 test 6our multilin$ual setup 6ou must adjust 6our operatin$ s6stem to
t8e lan$ua$e under test.
!or more info read t8e follo3in$ lin,D 333.pantara6.com<lan$ua$e.8tmlBtestin$.


Special Controls
*1it
58e 8ei$8t of an 'dit control is defined )6 t8e operatin$ s6stemI t8us t8e H propert6
of t8e 'dit control 3ill )e set initiall6 to Rero.
Lou can manuall6 c8an$e t8is *alue )ut it 3ill 8a*e no effect on t8e control
)e8a*ior.
)abel
58e 8ei$8t 7 3idt8 of a La)el control are automaticall6 defined at runtimeI t8us t8e
H 7 & propert6 of t8e La)el control 3ill )e set initiall6 to Rero.
Lou can manuall6 c8an$e t8e H *alue )ut it 3ill 8a*e no effect on t8e control
)e8a*ior.
/f 6ou set t8e & *alue of a La)el to a *alue $reater t8e Rero and 6ou set t8e propert6
0i1i*nable1 to 5rue t8en 38en H+idi 5estH is C8ec,ed t8e text in t8e la)el 3ill flip to t8e
ri$8t accordin$ to t8e & *alue of t8e control.
*nteractin .it0 t0e Custom Dialo
/nteractin$ 3it8 a Custom Dialo$ at setup time is done usin$ t8e H'xecute 'n$ineH.
+nClic&
'*er6 Control can )e lin,ed to an H'xecute /temH usin$ t8e 0nClic, e*ent.
Lets sa6 6ou 8a*e a )utton on 6our Custom dialo$.
&8en t8e user clic, t8is )utton at setup time 6ou 3ant some action to ta,e place.
5o pro$ram t8is operation do t8e follo3in$D
1. >o to t8e H'xecuteH pa$e and clic, ?#11 &te,...@.
2. Select H1ndefined Sta$eH in t8e HPerform .tH selection )ox.
#. Pro$ram t8e execute item accordin$ to 6our needs.
%. Clic, ?#pply@ and close t8e He3 'xecution /temH dialo$.
(. >o to t8e HDialo$sH pa$e and clic, ?C"sto, Dialogs...@.
6. .dd t8e reEuired )utton.
7. Clic, t8e selection )ox of t8e H0nClic,H propert6.
8. Select t8e H'xecute /temH 6ou just created.
9. Clic, t8e ?Sa+e@ )utton.
5o test t8is operation do t8e follo3in$D
1. Close t8e HCustom Dialo$H screen.
2. Compile 6our setup )6 clic,in$ t8e ?Co,pile@ )utton.
#. 2un 6our setup )6 clic,in$ t8e ?%"n@ )utton.
%. Clic, t8e ?=e/t K@ )utton until 6ou reac8 t8e Custom dialo$.
(. Clic, t8e reEuired )utton on t8e custom dialo$.
5ppen6i9es < &ustom Dia!o-s 112
%efore2)fter Dialo
1sin$ t8is option 6ou can define operations t8at 3ill ta,e place just )efore and<or
just after a Custom Dialo$ is displa6ed.
Lets sa6 6ou created a Custom Dialo$ )6 t8e name HDialo$ um)er 1H.
>o to t8e H'xecuteH pa$e and clic, ?#11 &te,...@.
>i*e t8e ne3 /tem a name and clic, t8e HPerform .tH selection )ox.
.t t8e end of t8e list 6ou 3ill see t8e follo3in$ 2 lines on 6ello3 )ac,$roundD
1. H+efore Dialo$ um)er 1H
2. H.fter Dialo$ um)er 1H.
/f 6ou select t8e first optionI t8e 'xecute /tem 3ill )e preformed just )efore t8e
Custom Dialo$ is displa6ed.
/f 6ou select t8e second optionI t8e 'xecute /tem 3ill )e preformed just after t8e
Custom Dialo$ is displa6ed.
-ead2!rite Control Properties
2eadin$ and &ritin$ control properties at setup time can )e done 3it8 special
commands from t8e H'xecute 'n$ineH.
58e follo3in$ HConditionsH are a*aila)leD
Control 5ext is
Control /tem /ndex is
Control is C8ec,ed
58e follo3in$ H'xecutionsH are a*aila)leD
Set Control Propert6
>et Control Propert6
Con1ition Sa,plesA
Control Te/t is
.r$umentK1D 'dit2
ComparisonD Q
.r$umentK2D +ill >ates
Control &te, &n1e/ is
.r$umentK1D Com)o+ox#
ComparisonD CQ
.r$umentK2D 2
Control is Cec6e1
.r$umentK1D C8ec,+ox1
*/ec"tion Sa,plesA
Set Control Property
.r$umentK1D 'dit2
5ppen6i9es < &ustom Dia!o-s 113
.r$umentK2D 5ext
.r$umentK#D +ill >ates
Get Control Property
.r$umentK1D 'dit2
.r$umentK2D 5ext
.r$umentK#D @1serameC

You might also like