home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Needle Craft Plus
/
NeedleCraftPlusVolume1.iso
/
win
/
22_demo
/
install.mst
< prev
next >
Wrap
Text File
|
1996-01-09
|
39KB
|
1,211 lines
'**************************************************************************
'* StitchCraft Setup Script
'**************************************************************************
'$DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'install.inc'
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
'$INCLUDE 'msregdb.inc'
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION StartDlg (DlgID%, DlgProc$, HelpDlgID%) AS STRING
DECLARE FUNCTION ContactDlg () AS STRING
CONST CUSTOMDLL$ = "Install.dll" ''Custom user interface dll
CONST INSTALLINF$ = "Stitch.inf" ''Custom user inf file
CONST UPDATEINF$ = "Update.inf" ''Update inf file
CONST HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
GLOBAL szDestDir$ ''Destination directory.
GLOBAL szDestProgram$ ''Program Destination directory.
GLOBAL szDestAlphabet$ ''Alphabet Destination directory.
GLOBAL szDestPalette$ ''Palette Destination directory.
GLOBAL szDestShow$ ''Show Destination directory.
GLOBAL szExePath$ ''Stitch.Exe full path
GLOBAL szDestGroup$ ''Destination Group.
GLOBAL szVersion$ '' Version of Disk
GLOBAL szEdition$ ''UPDATE, DEMO, HOME, DESIGNER, PUBLISHER or DEALER
GLOBAL szDistributor$ ''Crafted Software, Crafted Software UK, Knitdesign, StitchDesign.
GLOBAL szDemoEdition$ ''HOME, DESIGNER or PUBLISHER
GLOBAL szUpdateEdition$ ''HOME, DESIGNER or PUBLISHER
GLOBAL szDisk$ ''NEW, SAME, GOOD, OLD, COPY, CORRUPT
GLOBAL szName$ ''Registered Name
GLOBAL szRego$ ''Registration No.
GLOBAL szNetQty$ ''"No" or an integer
GLOBAL szHelpDlg% ''Standard Help Dialog Box
GLOBAL bEducation$ ''Is Disk for Education.
GLOBAL bInstallProgram$ ''Option install Program from option dialog.
GLOBAL bInstallExamples$ ''Option install Program from option dialog.
GLOBAL bInstallWinTutor$ ''Option install Windows Tutorial.
GLOBAL bInstallTools$ ''Option install Tools.
GLOBAL bInstallShow$ ''Option install Program from option dialog.
GLOBAL bInstallSamples1$ ''Option install Samples 1 from option dialog.
GLOBAL bInstallSamples2$ ''Option install Samples 2 from option dialog.
GLOBAL bInstallPM$ ''Option install PageMaker Example.
GLOBAL bInstallVP$ ''Option install Ventura Publisher Example.
GLOBAL bInstallMP$ ''Option install Microsoft Publisher Example.
'''GLOBAL bInstallQX$ ''Option install QuarkXPress Example.
'''GLOBAL bInstallCD$ ''Option install CorelDRAW! Example.
''//UPDATE VARIABLES
GLOBAL szPathProg1$ ''//Path 1 for first StitchCraft on HD
GLOBAL szPathProg2$ ''//Path 2
GLOBAL szPathProg3$ ''//Path 3
GLOBAL szPathProg4$ ''//Path 4
GLOBAL szPathProg5$ ''//Path 5
GLOBAL szPathProg6$ ''//Path 6
''//************************************************************************
''//************************************************************************
MAIN:
GOSUB INITIALISE
GOSUB TITLEBOX
GOSUB WELCOME
GOSUB USERNAME
GOSUB OPTIONS
GOSUB GETPATH
GOSUB NETWORK
GOSUB COPYLIST
GOSUB DISKSPACE
GOSUB MAKEDIR
GOSUB REGISTER
GOSUB LOADFILES
GOSUB LOADGROUP
GOSUB LOADICONS
GOSUB REGOEDITOR
GOSUB SUCCESS
GOSUB CONTACT
END
INITIALISE:
iCursor% = ShowWaitCursor()
i% = SetWindowSize (HwndFrame(), SIZE_MAXIMIZE)
'' RestoreCursor iCursor%
'' iCursor% = ShowWaitCursor()
SetBitmap CUSTOMDLL$, BACKGROUNDLOGO
i% = SetBeepingMode(1)
''// Set Initial Symbols
SrcDir$ = GetSymbolValue("STF_SRCDIR")
i% = SetSymbolsFromFD
szVersion$ = GetSymbolValue("Version")
szEdition$ = GetSymbolValue("Edition")
szDisk$ = GetSymbolValue("DiskType")
szName$ = GetSymbolValue("Name")
bEducation$ = GetSymbolValue("Education")
szNetQty$ = GetSymbolValue("NetQty")
szRego$ = GetSymbolValue("Rego")
'' Language is stored in list item "Language"
IF szEdition$ = UPDATE_EDITION THEN
SetTitle UPDATE_TITLE + " " + szVersion$
SetAbout UPDATE_TITLE + " " + szVersion$, COPYRIGHTNOTICE
szHelp% = DLG_UPDATE_HELP
ReadInfFile MakePath (SrcDir, UPDATEINF$)
ELSE
SetTitle INSTALL_TITLE + " " + szVersion$
SetAbout INSTALL_TITLE + " " + szVersion$, COPYRIGHTNOTICE
szHelp% = DLG_INSTALL_HELP
ReadInfFile MakePath (SrcDir, INSTALLINF$)
ENDIF
RestoreCursor iCursor%
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
WinDrive$ = MID$(GetWindowsDir, 1, 1)
IF IsDriveValid(WinDrive$) = 0 THEN
i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
GOTO QUIT
ENDIF
'$ENDIF ''DEBUG
RETURN
TITLEBOX:
IF szEdition$ = UPDATE_EDITION THEN
sz$ = StartDlg(DLG_UPDATE_BOX, "TitleDlgProc", szHelp%)
ELSE
sz$ = StartDlg(DLG_TITLE_BOX, "TitleDlgProc", szHelp%)
ENDIF
GOSUB ISDISKCORRUPT '' TEST
GOSUB ISDISKCOPY '' TEST
GOSUB ISDISKOLD '' TEST
GOSUB ISDISKWRITEPROTECTED '' TEST
RETURN
WELCOME:
IF szEdition$ = UPDATE_EDITION THEN
sz$ = StartDlg(DLG_UPDATE_WELCOME, "WelcomeDlgProc", szHelp%)
ELSE
sz$ = StartDlg(DLG_WELCOME, "WelcomeDlgProc", szHelp%)
ENDIF
'' ELSEIF szEdition$ = DEMO_EDITION THEN
'' sz$ = StartDlg(DLG_WELCOME_DEMO, "WelcomeDlgProc", szHelp%)
'' ELSEIF szEdition$ = DEALER_EDITION THEN
'' sz$ = StartDlg(DLG_WELCOME_DEMO, "WelcomeDlgProc", szHelp%)
'' ELSEIF szEdition$ = HOME_EDITION THEN
'' sz$ = StartDlg(DLG_WELCOME_HOME, "WelcomeDlgProc", szHelp%)
'' ELSEIF szEdition$ = DESIGNER_EDITION THEN
'' sz$ = StartDlg(DLG_WELCOME_DESIGNER, "WelcomeDlgProc", szHelp%)
'' ELSEIF szEdition$ = PUBLISHER_EDITION THEN
'' sz$ = StartDlg(DLG_WELCOME_PUBLISHER, "WelcomeDlgProc", szHelp%)
'' ELSE
'' GOSUB DISKCORRUPT
'' ENDIF
IF szNetQty$ <> STRING_NO AND szNetQty$ <> "" THEN
RemoveSymbol "TextIn"
AddListItem "TextIn", szNetQty$
sz$ = StartDlg(DLG_WELCOME_NETWORK, "ConfirmDlgProc", szHelp%)
ENDIF
RETURN
USERNAME:
IF szEdition$ = UPDATE_EDITION THEN
RETURN
ENDIF
IF szEdition$ = DEMO_EDITION OR szEdition$ = DEALER_EDITION THEN
RETURN
ENDIF
IF szDisk$ = "NEW" AND szName = "" THEN
GOSUB GETNAME
ELSEIF szDisk$ = "SAME" OR szEdition$ <> HOME_EDITION THEN
GOSUB DISKSAME
ELSE
GOSUB DISKGOOD
ENDIF
RETURN
GETNAME:
SetSymbolValue "Name", szName$
SetSymbolValue "EditFocus", "ALL"
SetSymbolValue "Rego", szRego$
IF szEdition$ = HOME_EDITION THEN
sz$ = StartDlg(DLG_GET_NAME, "GetNameDlgProc", szHelp%)
ELSEIF szEdition$ = DESIGNER_EDITION OR szEdition$ = PUBLISHER_EDITION THEN
sz$ = StartDlg(DLG_GET_COMPANY, "GetNameDlgProc", szHelp%)
ELSE
GOSUB DISKCORRUPT
ENDIF
szName$ = GetSymbolValue("Name")
szRego$ = GetSymbolValue("Rego")
IF szName$ = "" THEN
sz$ = StartDlg(DLG_BAD_NAME, "InfoDlgProc", 0)
GOTO GETNAME
ENDIF
CHECKNAME:
RemoveSymbol "TextIn"
AddListItem "TextIn", szName$
AddListItem "TextIn", szRego$
sz$ = StartDlg(DLG_CHECK_NAME, "ConfirmDlgProc", szHelp%)
IF sz$ = STRING_CHANGE THEN
GOTO GETNAME
ENDIF
RETURN
DISKSAME:
RemoveSymbol "TextIn"
AddListItem "TextIn", szName$
AddListItem "TextIn", szRego$
sz$ = StartDlg(DLG_CHECK_NAME, "ConfirmDlgProc", szHelp%)
IF sz$ = STRING_CHANGE THEN
GOSUB GETNAME
ENDIF
RETURN
DISKGOOD:
RemoveSymbol "TextIn"
AddListItem "TextIn", szName$
AddListItem "TextIn", szRego$
sz$ = StartDlg(DLG_OLD_NAME, "ConfirmDlgProc", szHelp%)
RETURN
INITOPTIONS:
bInstallProgram$ = STRING_TRUE
bInstallExamples$ = STRING_TRUE
bInstallSamples1$ = STRING_FALSE
bInstallSamples2$ = STRING_FALSE
bInstallPM$ = STRING_FALSE
bInstallVP$ = STRING_FALSE
bInstallMP$ = STRING_FALSE
''' bInstallQX$ = STRING_FALSE
''' bInstallCD$ = STRING_FALSE
bInstallTools$ = STRING_FALSE
bInstallShow$ = STRING_FALSE
bInstallWinTutor = STRING_FALSE
IF (DoesFileExist (GetWindowsDir() + WINTUTOR_EXE, femExists)) THEN
IF szEdition$ = HOME_EDITION THEN
bInstallWinTutor$ = STRING_TRUE
ENDIF
ENDIF
IF szEdition$ = DEALER_EDITION THEN
bInstallTools$= STRING_TRUE
bInstallShow$ = STRING_TRUE
ELSEIF szEdition$ = HOME_EDITION THEN
bInstallSamples1$ = STRING_TRUE
bInstallSamples2$ = STRING_TRUE
bInstallTools$ = STRING_TRUE
ELSEIF szEdition$ = DESIGNER_EDITION THEN
bInstallSamples1$ = STRING_TRUE
bInstallSamples2$ = STRING_TRUE
bInstallTools$ = STRING_TRUE
ELSEIF szEdition$ = PUBLISHER_EDITION THEN
bInstallTools$ = STRING_TRUE
ENDIF
IF szEdition$=PUBLISHER_EDITION OR szEdition$=DEMO_EDITION OR szEdition$=DEALER_EDITION THEN
''' IF (DoesFileExist (PM5_EXE, femExists)) THEN ''Deleted
''' bInstallPM$ = STRING_TRUE
''' IF (DoesRegKeyExist (PM4_REG) OR DoesRegKeyExist (PM5_REG)) THEN
IF (DoesRegKeyExist (PM5_REG)) THEN
bInstallPM$ = STRING_TRUE
ELSEIF (DoesRegKeyExist (PM4_REG)) THEN
bInstallPM$ = STRING_TRUE
ELSE
bInstallPM$ = STRING_GRAY
ENDIF
IF (DoesRegKeyExist (VP_REG)) THEN
bInstallVP$ = STRING_TRUE
ELSE
bInstallVP$ = STRING_GRAY
ENDIF
IF (DoesRegKeyExist (MP_REG)) THEN
bInstallMP$ = STRING_TRUE
ELSE
bInstallMP$ = STRING_GRAY
ENDIF
''' IF (DoesRegKeyExist (QX_REG)) THEN
''' bInstallQX$ = STRING_TRUE
''' ELSE
''' bInstallQX$ = STRING_GRAY
''' ENDIF
''' IF (DoesRegKeyExist (CD_REG)) THEN
''' bInstallCD$ = STRING_TRUE
''' ELSE
''' bInstallCD$ = STRING_GRAY
''' ENDIF
ENDIF
RETURN
OPTIONS:
IF szEdition$ = UPDATE_EDITION THEN
RETURN
ENDIF
GOSUB INITOPTIONS
IF szEdition$ = DEMO_EDITION OR szEdition$ = DEALER_EDITION THEN
SetSymbolValue "RadioButton", "1"
ELSE
AddListItem SYM_OPTIONS,bInstallProgram$
AddListItem SYM_OPTIONS,bInstallSamples1$
AddListItem SYM_OPTIONS,bInstallSamples2$
AddListItem SYM_OPTIONS,bInstallPM$
AddListItem SYM_OPTIONS,bInstallVP$
AddListItem SYM_OPTIONS,bInstallMP$
''' AddListItem SYM_OPTIONS,bInstallQX$
''' AddListItem SYM_OPTIONS,bInstallCD$
ENDIF
IF szEdition$ = DEMO_EDITION OR szEdition$ = DEALER_EDITION THEN
sz$ = StartDlg(DLG_OPTIONS_DEMO, "RadioDlgProc", szHelp%)
ELSEIF szEdition$ = HOME_EDITION THEN
sz$ = StartDlg(DLG_OPTIONS_HOME, "CheckBoxDlgProc", szHelp%)
ELSEIF szEdition$ = DESIGNER_EDITION THEN
sz$ = StartDlg(DLG_OPTIONS_DESIGNER, "CheckBoxDlgProc", szHelp%)
ELSEIF szEdition$ = PUBLISHER_EDITION THEN
sz$ = StartDlg(DLG_OPTIONS_PUBLISHER, "CheckBoxDlgProc", szHelp%)
ELSE
GOSUB DISKCORRUPT ''???? GOSUB or GOTO
ENDIF
IF szEdition$ = DEMO_EDITION OR szEdition$ = DEALER_EDITION THEN
sz$ = GetSymbolValue ("RadioButton")
IF sz$ = "1" THEN
szDemoEdition = HOME_EDITION
bInstallPM$ = STRING_FALSE
bInstallVP$ = STRING_FALSE
bInstallMP$ = STRING_FALSE
ELSEIF sz$ = "2" THEN
szDemoEdition = DESIGNER_EDITION
bInstallPM$ = STRING_FALSE
bInstallVP$ = STRING_FALSE
bInstallMP$ = STRING_FALSE
ELSE
szDemoEdition = PUBLISHER_EDITION
ENDIF
ELSE
bInstallProgram$ = GetListItem (SYM_OPTIONS, 1)
bInstallSamples1$ = GetListItem (SYM_OPTIONS, 2)
bInstallSamples2$ = GetListItem (SYM_OPTIONS, 3)
IF szEdition = PUBLISHER_EDITION THEN
bInstallPM$ = GetListItem (SYM_OPTIONS, 4)
bInstallVP$ = GetListItem (SYM_OPTIONS, 5)
bInstallMP$ = GetListItem (SYM_OPTIONS, 6)
''' bInstallQX$ = GetListItem (SYM_OPTIONS, 7)
''' bInstallCD$ = GetListItem (SYM_OPTIONS, 8)
ENDIF
ENDIF
RemoveSymbol (SYM_OPTIONS)
RETURN
DEFAULTPATH:
IF szEdition$ = DEMO_EDITION OR szEdition$ = DEALER_EDITION THEN
IF szDemoEdition$ = HOME_EDITION THEN
szDestDir$ = OLD_DIR_DH
ELSEIF szDemoEdition$ = DESIGNER_EDITION THEN
szDestDir$ = OLD_DIR_DD
ELSEIF szDemoEdition$ = PUBLISHER_EDITION THEN
szDestDir$ = OLD_DIR_DP
ELSE
GOSUB DISKCORRUPT
ENDIF
ELSEIF szEdition$ = HOME_EDITION THEN
szDestDir$ = OLD_DIR_H
ELSEIF szEdition$ = DESIGNER_EDITION THEN
szDestDir$ = OLD_DIR_D
ELSEIF szEdition$ = PUBLISHER_EDITION THEN
szDestDir$ = OLD_DIR_P
ELSE
GOSUB DISKCORRUPT
ENDIF
sz$ = MakePath(szDestDir$, OLD_DIR_PROGRAM)
sz$ = MakePath(sz$, EXE_FILE)
i% = DoesFileExist (sz$,femExists)
IF i% = 0 THEN
szDestDir$ = DEFAULT_DIR
ENDIF
RETURN
GETPATH:
IF szEdition$ = UPDATE_EDITION THEN
GOSUB GETUPDATEPATH
GOSUB CONFIRMUPDATEPATH
RETURN
ENDIF
GOSUB DEFAULTPATH
GETPATH1:
SetSymbolValue "EditText", szDestDir$
SetSymbolValue "EditFocus", "END"
sz$ = StartDlg(DLG_GET_PATH, "GetPathDlgProc", szHelp%)
IF sz$ = STRING_CONTINUE THEN
IF IsDirWritable(szDestDir$) = 0 THEN
sz$ = StartDlg(DLG_BAD_PATH, "InfoDlgProc", 0)
GOTO GETPATH1
ENDIF
ELSEIF sz$ = STRING_BACK THEN
GOSUB OPTIONS
GOTO GETPATH
ENDIF
szDestDrive$ = GetSymbolValue("DestDrive")
szDestDir$ = GetSymbolValue("EditText")
'' If Update use old Dir
szDestProgram$ = MakePath(szDestDir$, OLD_DIR_PROGRAM)
sz$ = MakePath(szDestProgram$, EXE_FILE)
i% = DoesFileExist (sz$,femExists)
'' Otherwise use new default dir
IF i% = 0 THEN
IF szEdition$ = DEMO_EDITION OR szEdition$ = DEALER_EDITION THEN
IF szDemoEdition$ = HOME_EDITION THEN
szDestProgram$ = MakePath(szDestDir$, DIR_DEMO_H)
ELSEIF szDemoEdition$ = DESIGNER_EDITION THEN
szDestProgram$ = MakePath(szDestDir$, DIR_DEMO_D)
ELSEIF szDemoEdition$ = PUBLISHER_EDITION THEN
szDestProgram$ = MakePath(szDestDir$, DIR_DEMO_P)
ELSE
GOSUB DISKCORRUPT
ENDIF
ELSEIF szEdition$ = HOME_EDITION THEN
szDestProgram$ = MakePath(szDestDir$, DIR_HOME)
ELSEIF szEdition$ = DESIGNER_EDITION THEN
szDestProgram$ = MakePath(szDestDir$, DIR_DESIGNER)
ELSEIF szEdition$ = PUBLISHER_EDITION THEN
szDestProgram$ = MakePath(szDestDir$, DIR_PUBLISHER)
ELSE
GOSUB DISKCORRUPT
ENDIF
ENDIF
szDestAlphabet$ = MakePath(szDestDir$, DIR_ALPHABET)
szDestPalette$ = MakePath(szDestDir$, DIR_PALETTE)
szDestShow$ = MakePath(szDestDir$, DIR_SHOW)
szExePath$ = MakePath(szDestProgram$, EXE_FILE)
RETURN
GETUPDATEPATH:
iCursor% = ShowWaitCursor()
sz$ = StartDlg(DLG_UPDATE_CHOOSEPATH, "GetUpdatePathDlgProc", DLG_UPDATE_GETPATH_HELP)
IF sz$ = STRING_BACK THEN
GOSUB WELCOME
GOTO GETUPDATEPATH
ENDIF
sz$ = StartDlg(DLG_UPDATE_SEARCHING, "SearchUpdatePathDlgProc", 0)
sz$ = GetSymbolValue("DirProgram1")
IF sz$ = "" THEN
szSearch$ = GetSymbolValue("Search")
IF szSearch$ = "Default" THEN
sz$ = StartDlg(DLG_UPDATE_NOTFOUNDINPATH, "InfoDlgProc", 0)
ELSE
sz$ = StartDlg(DLG_UPDATE_NOTFOUNDONDISK, "InfoDlgProc", 0)
ENDIF
GOTO GETUPDATEPATH
ENDIF
RestoreCursor iCursor%
RETURN
CONFIRMUPDATEPATH:
sz$ = GetSymbolValue("DirProgram2")
IF sz$ = "" THEN
sz$ = StartDlg(DLG_UPDATE_PATH, "ConfirmUpdatePathDlgProc", szHelp%)
ELSE
sz$ = StartDlg(DLG_UPDATE_PATHS, "ConfirmUpdatePathDlgProc", szHelp%)
ENDIF
IF sz$ = STRING_BACK THEN
GOSUB GETUPDATEPATH
GOTO CONFIRMUPDATEPATH
ENDIF
RETURN
COPYLIST:
IF szEdition$ = UPDATE_EDITION THEN
GOSUB SETUPDATECOPYLIST
ELSE
GOSUB SETINSTALLCOPYLIST
ENDIF
RETURN
SETINSTALLCOPYLIST:
ClearCopyList
IF bInstallProgram$ = STRING_TRUE THEN
AddSectionFilesToCopyList "MAIN", SrcDir$, szDestProgram$
IF szEdition$ <> DEMO_EDITION AND szEdition$ <> DEALER_EDITION THEN
AddSectionFilesToCopyList "ALPHABETS", SrcDir$, szDestAlphabet$
AddSectionFilesToCopyList "PALETTES", SrcDir$, szDestPalette$
ENDIF
IF szEdition$ = DEMO_EDITION OR szEdition$ = DEALER_EDITION THEN
AddSectionFilesToCopyList "DEMO", SrcDir$, szDestProgram$
AddSectionFilesToCopyList "DEMO SAMPLES", SrcDir$, szDestDir$
ELSEIF szEdition$ = HOME_EDITION THEN
AddSectionFilesToCopyList "HOME", SrcDir$, szDestProgram$
ELSEIF szEdition$ = DESIGNER_EDITION THEN
AddSectionFilesToCopyList "DESIGNER", SrcDir$, szDestProgram$
AddSectionFilesToCopyList "PROFESSIONAL", SrcDir$, szDestProgram$
ELSEIF szEdition$ = PUBLISHER_EDITION THEN
AddSectionFilesToCopyList "PUBLISH", SrcDir$, szDestProgram$
AddSectionFilesToCopyList "PROFESSIONAL", SrcDir$, szDestProgram$
ENDIF
ENDIF
IF bInstallExamples$ = STRING_TRUE THEN
AddSectionFilesToCopyList "EXAMPLES", SrcDir$, szDestProgram$
AddSectionFilesToCopyList "EXAMPLES", SrcDir$, szDestDir$
ENDIF
IF bInstallTools$ = STRING_TRUE THEN
AddSectionFilesToCopyList "TOOLS", SrcDir$, szDestProgram$
ENDIF
IF bInstallSamples1$ = STRING_TRUE THEN
AddSectionFilesToCopyList "SAMPLES 1", SrcDir$, szDestDir$
ENDIF
IF bInstallSamples2$ = STRING_TRUE THEN
AddSectionFilesToCopyList "SAMPLES 2", SrcDir$, szDestDir$
ENDIF
IF bInstallPM$ = STRING_TRUE THEN
AddSectionFilesToCopyList "PM", SrcDir$, szDestProgram$
ENDIF
IF bInstallVP$ = STRING_TRUE THEN
AddSectionFilesToCopyList "VP", SrcDir$, szDestProgram$
ENDIF
IF bInstallMP$ = STRING_TRUE THEN
AddSectionFilesToCopyList "MP", SrcDir$, szDestProgram$
ENDIF
''' IF bInstallQX$ = STRING_TRUE THEN
''' AddSectionFilesToCopyList "QX", SrcDir$, szDestProgram$
''' ENDIF
''' IF bInstallCD$ = STRING_TRUE THEN
''' AddSectionFilesToCopyList "CD", SrcDir$, szDestProgram$
''' ENDIF
IF bInstallShow$ = STRING_TRUE THEN
AddSectionFilesToCopyList "SHOW", SrcDir$, szDestShow$
ENDIF
RETURN
SETUPDATECOPYLIST:
ClearCopyList
sz$ = GetSymbolValue("Update1")
IF sz$ = STRING_YES THEN
szDestDir$ = GetSymbolValue("DirDest1")
szDestProgram$ = GetSymbolValue("DirProgram1")
szDestAlphabet$ = GetSymbolValue("DirAlphabet1")
szDestPalette$ = GetSymbolValue("DirPalette1")
szUpdateEdition$= GetSymbolValue("Edition1")
GOSUB ADDTOUPDATECOPYLIST
ENDIF
sz$ = GetSymbolValue("Update2")
IF sz$ = STRING_YES THEN
szDestDir$ = GetSymbolValue("DirDest2")
szDestProgram$ = GetSymbolValue("DirProgram2")
szDestAlphabet$ = GetSymbolValue("DirAlphabet2")
szDestPalette$ = GetSymbolValue("DirPalette2")
szUpdateEdition$= GetSymbolValue("Edition2")
GOSUB ADDTOUPDATECOPYLIST
ENDIF
sz$ = GetSymbolValue("Update3")
IF sz$ = STRING_YES THEN
szDestDir$ = GetSymbolValue("DirDest3")
szDestProgram$ = GetSymbolValue("DirProgram3")
szDestAlphabet$ = GetSymbolValue("DirAlphabet3")
szDestPalette$ = GetSymbolValue("DirPalette3")
szUpdateEdition$= GetSymbolValue("Edition3")
GOSUB ADDTOUPDATECOPYLIST
ENDIF
sz$ = GetSymbolValue("Update4")
IF sz$ = STRING_YES THEN
szDestDir$ = GetSymbolValue("DirDest4")
szDestProgram$ = GetSymbolValue("DirProgram4")
szDestAlphabet$ = GetSymbolValue("DirAlphabet4")
szDestPalette$ = GetSymbolValue("DirPalette4")
szUpdateEdition$= GetSymbolValue("Edition4")
GOSUB ADDTOUPDATECOPYLIST
ENDIF
sz$ = GetSymbolValue("Update5")
IF sz$ = STRING_YES THEN
szDestDir$ = GetSymbolValue("DirDest5")
szDestProgram$ = GetSymbolValue("DirProgram5")
szDestAlphabet$ = GetSymbolValue("DirAlphabet5")
szDestPalette$ = GetSymbolValue("DirPalette5")
szUpdateEdition$= GetSymbolValue("Edition5")
GOSUB ADDTOUPDATECOPYLIST
ENDIF
sz$ = GetSymbolValue("Update6")
IF sz$ = STRING_YES THEN
szDestDir$ = GetSymbolValue("DirDest6")
szDestProgram$ = GetSymbolValue("DirProgram6")
szDestAlphabet$ = GetSymbolValue("DirAlphabet6")
szDestPalette$ = GetSymbolValue("DirPalette6")
szUpdateEdition$= GetSymbolValue("Edition6")
GOSUB ADDTOUPDATECOPYLIST
ENDIF
RETURN
ADDTOUPDATECOPYLIST:
''' IF szDestProgram$ = "" THEN
''' RETURN
''' ENDIF
AddSectionFilesToCopyList "MAIN", SrcDir$, szDestProgram$
AddSectionFilesToCopyList "EXAMPLES", SrcDir$, szDestProgram$
IF szDestDir$ <> "" THEN
AddSectionFilesToCopyList "EXAMPLES", SrcDir$, szDestDir$
ENDIF
IF szUpdateEdition$ <> DEMO_EDITION AND szUpdateEdition$ <> DEALER_EDITION THEN
IF szDestAlphabet$ <> "" THEN
AddSectionFilesToCopyList "ALPHABETS", SrcDir$, szDestAlphabet$
ENDIF
IF szDestPalette$ <> "" THEN
AddSectionFilesToCopyList "PALETTES", SrcDir$, szDestPalette$
ENDIF
ENDIF
IF szUpdateEdition$ = DEMO_EDITION OR szUpdateEdition$ = DEALER_EDITION THEN
AddSectionFilesToCopyList "DEMO", SrcDir$, szDestProgram$
IF szDestDir$ <> "" THEN
AddSectionFilesToCopyList "DEMO SAMPLES", SrcDir$, szDestDir$
ENDIF
ELSEIF szUpdateEdition$ = HOME_EDITION THEN
AddSectionFilesToCopyList "HOME", SrcDir$, szDestProgram$
ELSEIF szUpdateEdition$ = DESIGNER_EDITION THEN
AddSectionFilesToCopyList "DESIGNER", SrcDir$, szDestProgram$
AddSectionFilesToCopyList "PROFESSIONAL", SrcDir$, szDestProgram$
ELSEIF szUpdateEdition$ = PUBLISHER_EDITION THEN
AddSectionFilesToCopyList "PUBLISH", SrcDir$, szDestProgram$
AddSectionFilesToCopyList "PROFESSIONAL", SrcDir$, szDestProgram$
AddSectionFilesToCopyList "PM", SrcDir$, szDestProgram$
AddSectionFilesToCopyList "VP", SrcDir$, szDestProgram$
AddSectionFilesToCopyList "MP", SrcDir$, szDestProgram$
''' AddSectionFilesToCopyList "QX", SrcDir$, szDestProgram$
''' AddSectionFilesToCopyList "CD", SrcDir$, szDestProgram$
ENDIF
RETURN
DISKSPACE:
SpaceNeaded& = GetCopyListCost ("ExtraIniSpace", "NeadedSpace", "ExtraFileSpace")
RemoveSymbol "ExtraIniSpace"
RemoveSymbol "NeadedSpace"
RemoveSymbol "ExtraFileSpace"
''' SpaceAvailable& = GetFreeSpaceForDrive (szDestDrive$)
IF SpaceNeaded& > 0 THEN
''' SetSymbolValue "SpaceNeaded",
''' SetSymbolValue "SpaceAvailable",
sz$ = StartDlg(DLG_WARNING_NO_SPACE, "InfoDlgProc", 0)
IF sz$ = STRING_BACK THEN
GOSUB OPTIONS
GOSUB GETPATH
GOSUB NETWORK
GOSUB COPYLIST
GOTO DISKSPACE
ELSEIF sz$ = STRING_CONTINUE THEN
GOTO DISKSPACE
ENDIF
ENDIF
RETURN
MAKEDIR:
IF szEdition$ = UPDATE_EDITION THEN
GOSUB MAKEUPDATEDIR
ELSE
GOSUB MAKEINSTALLDIR
ENDIF
RETURN
MAKEINSTALLDIR:
CreateDir szDestDir$, cmoNone
CreateDir szDestProgram$, cmoNone
IF bInstallProgram$ = STRING_TRUE THEN
IF szEdition$ <> DEMO_EDITION AND szEdition$ <> DEALER_EDITION THEN
CreateDir szDestAlphabet$, cmoNone
CreateDir szDestPalette$, cmoNone
ENDIF
ENDIF
IF bInstallShow$ = STRING_TRUE THEN
CreateDir szDestShow$, cmoNone
ENDIF
RETURN
MAKEUPDATEDIR:
sz$ = GetSymbolValue("Update1")
IF sz$ = STRING_YES THEN
szDestAlphabet$ = GetSymbolValue("DirAlphabet1")
szDestPalette$ = GetSymbolValue("DirPalette1")
GOSUB ADDUPDATEDIRS
ENDIF
sz$ = GetSymbolValue("Update2")
IF sz$ = STRING_YES THEN
szDestAlphabet$ = GetSymbolValue("DirAlphabet2")
szDestPalette$ = GetSymbolValue("DirPalette2")
GOSUB ADDUPDATEDIRS
ENDIF
sz$ = GetSymbolValue("Update3")
IF sz$ = STRING_YES THEN
szDestAlphabet$ = GetSymbolValue("DirAlphabet3")
szDestPalette$ = GetSymbolValue("DirPalette3")
GOSUB ADDUPDATEDIRS
ENDIF
sz$ = GetSymbolValue("Update4")
IF sz$ = STRING_YES THEN
szDestAlphabet$ = GetSymbolValue("DirAlphabet4")
szDestPalette$ = GetSymbolValue("DirPalette4")
GOSUB ADDUPDATEDIRS
ENDIF
sz$ = GetSymbolValue("Update5")
IF sz$ = STRING_YES THEN
szDestAlphabet$ = GetSymbolValue("DirAlphabet5")
szDestPalette$ = GetSymbolValue("DirPalette5")
GOSUB ADDUPDATEDIRS
ENDIF
sz$ = GetSymbolValue("Update6")
IF sz$ = STRING_YES THEN
szDestAlphabet$ = GetSymbolValue("DirAlphabet6")
szDestPalette$ = GetSymbolValue("DirPalette6")
GOSUB ADDUPDATEDIRS
ENDIF
RETURN
ADDUPDATEDIRS:
IF szDestAlphabet$ <> "" THEN
CreateDir szDestAlphabet$, cmoNone
ENDIF
IF szDestPalette$ <> "" THEN
CreateDir szDestPalette$, cmoNone
ENDIF
RETURN
NETWORK:
''// NOT YET DONE
RETURN
ISDISKOLD:
IF szEdition$=HOME_EDITION AND szDisk$="OLD" AND szNetQty$=STRING_NO THEN
sz$ = StartDlg(DLG_WARNING_OLD, "InfoDlgProc", 0)
GOTO QUIT
ENDIF
RETURN
SUCCESS:
sz$ = StartDlg(DLG_EXIT_SUCCESS, "InfoDlgProc", 0)
RETURN
CONTACT:
sz$ = ContactDlg ()
RETURN
QUIT:
ON ERROR GOTO ERRQUIT
GOSUB CONTACT
UIPopAll
END
ERRQUIT:
i% = DoMsgBox("Setup sources were corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
ISDISKCORRUPT:
IF szDisk$ <> CORRUPT_DISK THEN
RETURN
ENDIF
DISKCORRUPT:
sz$ = StartDlg(DLG_WARNING_CORRUPTED, "InfoDlgProc", 0)
GOTO QUIT
RETURN
ISDISKCOPY:
IF szEdition$=HOME_EDITION AND szDisk$="COPY" AND szNetQty$=STRING_NO THEN
sz$ = StartDlg(DLG_WARNING_COPY, "InfoDlgProc", 0)
szEdition = DEMO_EDITION
ENDIF
RETURN
ISDISKWRITEPROTECTED:
IF IsDirWritable(SrcDir$) = 1 THEN
RETURN
ENDIF
IF szEdition$ = UPDATE_EDITION THEN
RETURN
ELSEIF szEdition$ = DEMO_EDITION OR szEdition = DEALER_EDITION THEN
RETURN
ELSEIF szEdition$ = DESIGNER_EDITION OR szEdition$ = PUBLISHER_EDITION THEN
IF szName$ <> "" THEN
RETURN
ENDIF
ENDIF
IF szNetQty$ <> STRING_NO THEN
RETURN
ENDIF
sz$ = StartDlg(DLG_WARNING_PROTECTED, "TitleDlgProc", 0)
GOTO ISDISKWRITEPROTECTED
RETURN
REGISTER:
GOSUB ISDISKWRITEPROTECTED '' TEST
SetSymbolValue "Name", szName$
SetSymbolValue "DemoEdition", szDemoEdition$
SetSymbolValue "Rego", szRego$
SetSymbolValue "DestDir", szDestDir$
SetSymbolValue "DestProgram", szDestProgram$
i% = RegisterCopy
''' sz$ = StartDlg(DLG_REGISTER, "RegisterDlgProc", 0)
RETURN
LOADFILES:
CopyFilesInCopyList
RETURN
LOADGROUP:
IF szEdition$ = UPDATE_EDITION THEN
RETURN
ENDIF
IF szEdition$ = DEMO_EDITION OR szEdition$ = DEALER_EDITION THEN
IF szDemoEdition$ = HOME_EDITION THEN
szDestGroup$ = GROUP_DH
ELSEIF szDemoEdition$ = DESIGNER_EDITION THEN
szDestGroup$ = GROUP_DD
ELSEIF szDemoEdition$ = PUBLISHER_EDITION THEN
szDestGroup$ = GROUP_DP
ELSE
GOSUB DISKCORRUPT
ENDIF
''' ELSEIF szEdition$ = DEALER_EDITION THEN
''' szDestGroup$ = GROUP_DEALER
ELSEIF szEdition$ = HOME_EDITION THEN
szDestGroup$ = GROUP_H
ELSEIF szEdition$ = DESIGNER_EDITION THEN
szDestGroup$ = GROUP_D
ELSEIF szEdition$ = PUBLISHER_EDITION THEN
szDestGroup$ = GROUP_P
ELSE
GOSUB DISKCORRUPT
ENDIF
''' IF szEdition = DEMO_EDITION THEN
''' DeleteProgmanGroup szDestGroup$ ''Does not exist !!
''' ENDIF
''' DeleteProgmanGroup szDestGroup$ ''???
CreateProgmanGroup szDestGroup$, "", cmoNone
ShowProgmanGroup szDestGroup$, 1, cmoNone
RETURN
LOADICONS:
IF szEdition$ = UPDATE_EDITION THEN
RETURN
ENDIF
IF GetWindowsMajorVersion = 3 AND GetWindowsMinorVersion = 0 THEN
GOSUB LOADICONS30
ELSE
GOSUB LOADICONS31
ENDIF
RETURN
LOADICONS31:
IF bInstallExamples$ = STRING_TRUE AND DoesFileExist(szExePath$, femExists) THEN
CreateProgmanItem szDestGroup$, EXAMPLE1_TITLE, szExePath$+" "+EXAMPLE1_FILE, szExePath$+","+EXAMPLE_ICON_INDEX+",,,"+szDestDir$, cmoOverwrite
CreateProgmanItem szDestGroup$, EXAMPLE2_TITLE, szExePath$+" "+EXAMPLE2_FILE, szExePath$+","+EXAMPLE_ICON_INDEX+",,,"+szDestDir$, cmoOverwrite
CreateProgmanItem szDestGroup$, EXAMPLE3_TITLE, szExePath$+" "+EXAMPLE3_FILE, szExePath$+","+EXAMPLE_ICON_INDEX+",,,"+szDestDir$, cmoOverwrite
CreateProgmanItem szDestGroup$, EXAMPLE4_TITLE, szExePath$+" "+EXAMPLE4_FILE, szExePath$+","+EXAMPLE_ICON_INDEX+",,,"+szDestDir$, cmoOverwrite
ENDIF
IF (bInstallPM$ = STRING_TRUE) THEN
IF (DoesRegKeyExist (PM5_REG)) THEN
CreateProgmanItem szDestGroup$, PM_TITLE, MakePath(szDestProgram$,PM5_FILE), "", cmoOverwrite
ELSEIF (DoesRegKeyExist (PM4_REG)) THEN
CreateProgmanItem szDestGroup$, PM_TITLE, MakePath(szDestProgram$,PM4_FILE), "", cmoOverwrite
ENDIF
ENDIF
IF (bInstallVP$ = STRING_TRUE) THEN
CreateProgmanItem szDestGroup$, VP_TITLE, MakePath(szDestProgram$,VP_FILE), "", cmoOverwrite
ENDIF
IF (bInstallMP$ = STRING_TRUE) THEN
CreateProgmanItem szDestGroup$, MP_TITLE, MakePath(szDestProgram$,MP_FILE), "", cmoOverwrite
ENDIF
''' IF (bInstallQX$ = STRING_TRUE) THEN
''' CreateProgmanItem szDestGroup$, QX_TITLE, MakePath(szDestProgram$,QX_FILE), "", cmoOverwrite
''' ENDIF
''' IF (bInstallCD$ = STRING_TRUE) THEN
''' CreateProgmanItem szDestGroup$, CD_TITLE, MakePath(szDestProgram$,CD_FILE), "", cmoOverwrite
''' ENDIF
CreateProgmanItem szDestGroup$, NOTES_TITLE, WRITE_EXE+" "+MakePath(szDestProgram$,NOTES_FILE), "", cmoOverwrite
IF (bInstallProgram$ = STRING_TRUE) THEN
CreateProgmanItem szDestGroup$, EXE_TITLE, szExePath$, ",,,,"+szDestDir$, cmoOverwrite
ENDIF
IF (bInstallTools$ = STRING_TRUE) THEN
CreateProgmanItem szDestGroup$, CALC_SIZ_TITLE, MakePath(szDestProgram$,CALC_SIZ_FILE), "", cmoOverwrite
CreateProgmanItem szDestGroup$, CALC_QTY_TITLE, MakePath(szDestProgram$,CALC_QTY_FILE), "", cmoOverwrite
ENDIF
IF (bInstallShow$ = STRING_TRUE) THEN
CreateProgmanItem szDestGroup$, SHOWONCE_TITLE, MakePath(szDestShow$,SHOW_EXE) + " " + SHOWONCE_FILE, "", cmoOverwrite
CreateProgmanItem szDestGroup$, SHOWCONT_TITLE, MakePath(szDestShow$,SHOW_EXE) + " " + SHOWCONT_FILE, "", cmoOverwrite
ENDIF
''' IF szEdition$ = DEMO_EDITION OR szEdition$ = DEALER_EDITION THEN
CreateProgmanItem szDestGroup$, HELP_TITLE, MakePath(szDestProgram$,HELP_FILE), "", cmoOverwrite
''' ENDIF
IF bInstallWinTutor$ = STRING_TRUE THEN
CreateProgmanItem szDestGroup$, WINTUTOR_TITLE, WINTUTOR_EXE, "", cmoOverwrite
ENDIF
RETURN
LOADICONS30:
IF bInstallExamples$ = STRING_TRUE AND DoesFileExist(szExePath$, femExists) THEN
CreateProgmanItem szDestGroup$, EXAMPLE1_TITLE, szExePath$+" "+EXAMPLE1_FILE, "", cmoOverwrite
CreateProgmanItem szDestGroup$, EXAMPLE2_TITLE, szExePath$+" "+EXAMPLE2_FILE, "", cmoOverwrite
CreateProgmanItem szDestGroup$, EXAMPLE3_TITLE, szExePath$+" "+EXAMPLE3_FILE, "", cmoOverwrite
CreateProgmanItem szDestGroup$, EXAMPLE4_TITLE, szExePath$+" "+EXAMPLE4_FILE, "", cmoOverwrite
ENDIF
IF (bInstallPM$ = STRING_TRUE) THEN
IF (DoesRegKeyExist (PM5_REG)) THEN
CreateProgmanItem szDestGroup$, PM_TITLE, MakePath(szDestProgram$,PM5_FILE), "", cmoOverwrite
ELSEIF (DoesRegKeyExist (PM4_REG)) THEN
CreateProgmanItem szDestGroup$, PM_TITLE, MakePath(szDestProgram$,PM4_FILE), "", cmoOverwrite
ENDIF
ENDIF
IF (bInstallVP$ = STRING_TRUE) THEN
CreateProgmanItem szDestGroup$, VP_TITLE, MakePath(szDestProgram$,VP_FILE), "", cmoOverwrite
ENDIF
IF (bInstallMP$ = STRING_TRUE) THEN
CreateProgmanItem szDestGroup$, MP_TITLE, MakePath(szDestProgram$,MP_FILE), "", cmoOverwrite
ENDIF
''' IF (bInstallQX$ = STRING_TRUE) THEN
''' CreateProgmanItem szDestGroup$, QX_TITLE, MakePath(szDestProgram$,QX_FILE), "", cmoOverwrite
''' ENDIF
''' IF (bInstallCD$ = STRING_TRUE) THEN
''' CreateProgmanItem szDestGroup$, CD_TITLE, MakePath(szDestProgram$,CD_FILE), "", cmoOverwrite
''' ENDIF
CreateProgmanItem szDestGroup$, NOTES_TITLE, WRITE_EXE+" "+MakePath(szDestProgram$,NOTES_FILE), "", cmoOverwrite
IF (bInstallProgram$ = STRING_TRUE) THEN
CreateProgmanItem szDestGroup$, EXE_TITLE, szExePath$, "", cmoOverwrite
ENDIF
IF (bInstallTools$ = STRING_TRUE) THEN
CreateProgmanItem szDestGroup$, CALC_SIZ_TITLE, MakePath(szDestProgram$,CALC_SIZ_FILE), "", cmoOverwrite
CreateProgmanItem szDestGroup$, CALC_QTY_TITLE, MakePath(szDestProgram$,CALC_QTY_FILE), "", cmoOverwrite
ENDIF
IF (bInstallShow$ = STRING_TRUE) THEN
CreateProgmanItem szDestGroup$, SHOWONCE_TITLE, MakePath(szDestShow$,SHOW_EXE) + " " + SHOWONCE_FILE, "", cmoOverwrite
CreateProgmanItem szDestGroup$, SHOWCONT_TITLE, MakePath(szDestShow$,SHOW_EXE) + " " + SHOWCONT_FILE, "", cmoOverwrite
ENDIF
''' IF szEdition$ = DEMO_EDITION OR szEdition$ = DEALER_EDITION THEN
CreateProgmanItem szDestGroup$, HELP_TITLE, MakePath(szDestProgram$,HELP_FILE), "", cmoOverwrite
''' ENDIF
IF bInstallWinTutor$ = STRING_TRUE THEN
CreateProgmanItem szDestGroup$, WINTUTOR_TITLE, WINTUTOR_EXE, "", cmoOverwrite
ENDIF
RETURN
REGOEDITOR: '' Register StitchCraft files with REGO EDITOR
IF szEdition$ = UPDATE_EDITION THEN
RETURN
ENDIF
n% = DoesRegKeyExist (REG_KEY)
IF szEdition$ = DEMO_EDITION AND n% = 1 THEN
RETURN
ENDIF
IF n% = 1 THEN
DeleteRegKey REG_KEY
ENDIF
CreateRegKeyValue REG_KEY, REG_TYPE
CreateRegKeyValue REG_KEY +"\shell\open\command", szExePath$ + " %1"
CreateRegKeyValue REG_EXT, REG_KEY
RETURN
'**
'** Purpose:
'** Appends a file name to the end of a directory path,
'** inserting a backslash character as needed.
'** Arguments:
'** szDir$ - full directory path (with optional ending "\")
'** szFile$ - filename to append to directory
'** Returns:
'** Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
ENDIF
END FUNCTION
'**
'** Purpose:
'** Starts a Dlg Box,
'** handles Reactivate & Quit.
'*** Pops Dlg from stack
'** Arguments:
'** DlgDLL$ -
'** DlgID% -
'** DlgProc -
'** HelpDlgID% -
'** Returns:
'** Resulting String from Dlg.
'*************************************************************************
FUNCTION StartDlg (DlgID%, DlgProc$, HelpDlgID%) STATIC AS STRING
STARTDLG:
IF HelpDlgID% = 0 THEN
sz$ = UIStartDlg (CUSTOMDLL$, DlgID%, DlgProc$, 0, "")
ELSE
sz$ = UIStartDlg (CUSTOMDLL$, DlgID%, DlgProc$, HelpDlgID%, HELPPROC$)
ENDIF
IF sz$ = "REACTIVATE" THEN
GOTO STARTDLG
ENDIF
UIPop 1
IF sz$ = STRING_QUIT THEN
ASKQUIT:
sz$ = UIStartDlg(CUSTOMDLL$, DLG_ASK_QUIT, "InfoDlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSEIF sz$ = STRING_QUIT THEN
UIPop 1
sz$ = ContactDlg ()
UIPopAll
END
ELSE
UIPop 1
ENDIF
GOTO STARTDLG
ENDIF
StartDlg = sz$
END FUNCTION
FUNCTION ContactDlg () STATIC AS STRING
szDistributor$ = GetSymbolValue("Distributor")
IF szDistributor$ = CRAFTEDSOFTWARE THEN
sz$ = StartDlg(DLG_CONTACT, "InfoDlgProc", 0)
ELSEIF szDistributor$ = CRAFTEDSOFTWARE_UK THEN
sz$ = StartDlg(DLG_CONTACT_UK, "InfoDlgProc", 0)
ELSEIF szDistributor$ = KNITDESIGN THEN
sz$ = StartDlg(DLG_CONTACT_HOLLAND, "InfoDlgProc", 0)
ELSEIF szDistributor$ = STITCHDESIGN THEN
sz$ = StartDlg(DLG_CONTACT_USA, "InfoDlgProc", 0)
ELSE
sz$ = StartDlg(DLG_CONTACT, "InfoDlgProc", 0)
ENDIF
ContactDlg = sz$
END FUNCTION