home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-14 | 43.3 KB | 1,445 lines |
- ''********************** HOTDOCS INSTALLATION SCRIPT
- '$INCLUDE 'hddefine.inc'
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
- '$IFDEF HOTDOCS
- '$INCLUDE 'msregdb.inc'
- '$ENDIF
-
- ''********************* DIALOG CONSTANTS
- CONST WELCOME = 100
- CONST BAD_HW_SW = 101
- CONST CANNOT_CREATE = 102
- CONST APPHELP = 103
- CONST TOOBIG = 104
- CONST BADPATH = 105
- CONST EXITFAILURE = 108
- CONST DIR_NO_EXIST = 109
- CONST PERSONALINFO = 1000
-
- '$IFDEF HOTDOCS AND NOT RUNTIME AND NOT EVALUATE
- CONST INSTALLTYPE = 106
- '$ELSE
- CONST INSTALLTYPE = 107
- '$ENDIF
- '$IFDEF HOTDOCS
- '$IFDEF RUNTIME
- CONST EXITSUCCESS = 300
- CONST AP30DLG = 301
- CONST MSW20DLG = 302
- CONST WP61DLG = 303
- CONST WP60DLG = 304
- CONST MSW60DLG = 305
- CONST WP52DLG = 306
- CONST WP70DLG = 308
- '$ELSE
- CONST EXITSUCCESS = 207
- CONST WP61DLG = 211
- CONST WP52DLG = 212
- CONST MSW20DLG = 213
- CONST AP30DLG = 214
- CONST WP60DLG = 215
- CONST MSW60DLG = 216
- CONST WP70DLG = 217
- '$ENDIF
- CONST STD_WORDPROCS = 203
- CONST STD_DIRS = 201
- CONST WS_DIRS = 202
- CONST ASKQUIT = 205
- CONST EXITQUIT = 206
- CONST NO_SPACE = 209
- CONST LOGO = 1
- '$ELSE
- CONST STD_DIRS = 400
- CONST WS_DIRS = 401
- CONST ASKQUIT = 402
- CONST EXITQUIT = 403
- CONST NO_SPACE = 406
- CONST LOGO = 2
- '$IFDEF RUNTIME
- CONST EXITSUCCESS = 500
- '$ELSE
- CONST EXITSUCCESS = 404
- '$ENDIF
- '$ENDIF
-
-
- '********************* GLOBAL VARIABLES
- GLOBAL CUIDLL$
- GLOBAL SRCDIR$
- GLOBAL HDPROG$
- GLOBAL HDUSER$
- GLOBAL HDDIR$
- GLOBAL HDTPLPATH$
- GLOBAL HDANSPATH$
- GLOBAL HDCOMPPATH$
- GLOBAL LIBENTRY$
- GLOBAL TPLENTRY$
- GLOBAL WINDIR$
- GLOBAL WINSYSDIR$
- GLOBAL DIRSECT$
- GLOBAL PREFSECT$
- GLOBAL WININI$
- GLOBAL HDINI$
- GLOBAL CREATECOMPDIR%
- GLOBAL DEMOPATH$
- '$IFDEF HOTDOCS
- GLOBAL MACROENTRY$
- GLOBAL STYLEENTRY$
- GLOBAL DOCENTRY$
- GLOBAL ICONENTRY$
- GLOBAL STARTUPENTRY$
-
- GLOBAL WP52NAME$
- GLOBAL WP52$
- GLOBAL WP52DOCS$
- GLOBAL WP52MACROS$
- GLOBAL WP52TEMPLATES$
-
- GLOBAL WP60NAME$
- GLOBAL WP60$
- GLOBAL WP60DOCS$
- GLOBAL WP60MACROS$
- GLOBAL WP60TEMPLATES$
-
- GLOBAL WP61NAME$
- GLOBAL WP61$
- GLOBAL WP61DOCS$
- GLOBAL WP61MACROS$
- GLOBAL WP61TEMPLATES$
-
- GLOBAL WP70NAME$
- GLOBAL WP70$
- GLOBAL WP70DOCS$
- GLOBAL WP70MACROS$
- GLOBAL WP70TEMPLATES$
-
- GLOBAL MSW20NAME$
- GLOBAL MSW20$
- GLOBAL MSW20DOCS$
- GLOBAL MSW20TEMPLATES$
- GLOBAL MSW20STUFF$
-
- GLOBAL MSW60NAME$
- GLOBAL MSW60$
- GLOBAL MSW60DOCS$
- GLOBAL MSW60TEMPLATES$
- GLOBAL MSW60STARTUP$
-
- GLOBAL AP30INI$
- GLOBAL AP30NAME$
- GLOBAL AP30$
- GLOBAL AP30DOCS$
- GLOBAL AP30MACROS$
- GLOBAL AP30ICONS$
- GLOBAL AP30TEMPLATES$
- GLOBAL AP30STYLES$
-
- GLOBAL TEMPLATEDIR$
- GLOBAL MACRODIR$
- GLOBAL WPDOCDIR$
- GLOBAL SAMPLES$
- '$ENDIF
-
- '******************* FUNCTION AND SUBROUTINE DECLARATIONS
- DECLARE SUB SetGlobals
- DECLARE SUB SetLogo
- DECLARE SUB InitInf
- DECLARE FUNCTION GetHDIString(key$,section$,default$) AS STRING
- DECLARE FUNCTION GetILString(section$) AS STRING
- DECLARE SUB InstallPref(prefName$,pref$)
- DECLARE SUB Install
- DECLARE SUB InstallCommonStuff
- DECLARE SUB NetscapeInstall LIB "MSCUISTF.DLL"
- DECLARE FUNCTION CheckForPanel LIB "MSCUISTF.DLL" (code AS INTEGER) AS INTEGER
- DECLARE FUNCTION SetKeys LIB "HD3REG.DLL" (szFile$,vType AS INTEGER,hfType AS INTEGER,pub$) AS INTEGER
- DECLARE FUNCTION ReplaceKeys LIB "HD3REG.DLL" (szFile$) AS INTEGER
- DECLARE FUNCTION MakePath (szDir$) AS STRING
- DECLARE SUB InstallWP(wpName$,wpPrefix$,wpTplDir$,wpDocDir$,wpLibName$)
- DECLARE SUB SetEditSyms(sym1$,sym2$,sym3$,sym4$,focus$)
- DECLARE SUB RemoveHDFile(fName$)
- DECLARE FUNCTION NewerVersion(versFile$,oldVers$) AS INTEGER
- '$IFDEF HOTDOCS
- DECLARE FUNCTION CheckWPDirs(dir1$,dir2$) AS INTEGER
- DECLARE SUB CreateHotDocsIcons
- DECLARE SUB InstallHotDocsStuff
- '$ENDIF
- '$IFDEF HOTFORMS
- DECLARE SUB InstallHotFormsStuff
- DECLARE SUB CreateHotFormsIcons
- '$ENDIF
-
- '***************** START OF SCRIPT
-
- 'DO SOME OTHER INTIALIZATION
- SetGlobals
- SetLogo
- InitInf
-
- panelCode = 0
- '$IFDEF HOTDOCS
- panelCode = 1
- '$ENDIF
- '$IFDEF HOTFORMS
- panelCode = panelCode + 2
- '$ENDIF
- CHECKPNL:
- IF CheckForPanel(panelCode) = 0 THEN
- UIPopAll
- GOSUB ASKQUIT
- GOTO CHECKPNL
- END IF
-
- '' CHECK HARDWARE AND SOFTWARE VERSION
- CHECK_HW_SW:
- majorVersion% = GetWindowsMajorVersion()
- minorVersion% = GetWindowsMinorVersion()
- windowsMode% = GetWindowsMode()
- IF majorVersion < 3 OR minorVersion < 1 OR windowsMode < 2 THEN
- sz$ = UIStartDlg(CUIDLL$, BAD_HW_SW, "FQuitDlgProc", 0, "")
- IF sz$ = "EXIT" THEN
- UIPopAll
- ERROR STFQUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO CHECK_HW_SW
- ELSE
- UIPop 1
- END IF
- END IF
-
- '$IFDEF RUNTIME
- IF GetILString( "Welcome") = "YES" THEN
- WELCOME_START:
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc",0, "")
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO WELCOME_START
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME_START
- END IF
- END IF
- '$ENDIF
-
- '$IFDEF HOTDOCS
- ''*** GET WP70 PATHS
- WP70DOCS$ = "c:\wpwin70"
- WP70MACROS$ = "c:\wpwin70\macros"
- WP70TEMPLATES$ = "c:\wpwin70\template"
- WP70$ = "OFF"
- '*** CHECK 32 BIT REGISTRATION DATABASE
- INIFILE$ = WINDIR$ + "HDWIN32.INI"
- IF DoesFileExist(INIFILE$,femExists) THEN
- IF DoesIniKeyExist(INIFILE$,"Short Path Names","WP70DOCS") THEN
- WP70DOCS$ = GetIniKeyString(INIFILE$,"Short Path Names","WP70DOCS")
- WP70$ = "ON"
- END IF
- IF DoesIniKeyExist(INIFILE$,"Short Path Names","WP70TEMPLATES") THEN
- WP70TEMPLATES$ = UCASE$(GetIniKeyString(INIFILE$,"Short Path Names","WP70TEMPLATES"))
- END IF
- IF DoesIniKeyExist(INIFILE$,"Short Path Names","WP70MACROS") THEN
- WP70MACROS$ = GetIniKeyString(INIFILE$,"Short Path Names","WP70MACROS")
- END IF
- END IF
- '*** CHECK PREVIOUS INSTALLATION
- WP70DOCS$ = GetHDIString(WP70NAME$,DOCENTRY$,WP70DOCS$)
- WP70TEMPLATES$ = GetHDIString(WP70NAME$,TPLENTRY$,WP70TEMPLATES$)
- WP70MACROS$ = GetHDIString(WP70NAME$,MACROENTRY$,WP70MACROS$)
- '$IFDEF RUNTIME
- WP70DOCS$ = ""
- '$ENDIF
- 'IF GetILString("WP70") <> "ON" THEN
- ' WP70$ = GetILString("WP70")
- 'END IF
-
- ''*** GET WP61 PATHS
- WP61PATH$ = "c:\wpwin61"
- WP61$ = "OFF"
- WP61MACROS$ = MakePath(GetRegKeyValue("WPConfig\Apps\WPWin61\Paths\MacroDir"))
- WP61TEMPLATES$ = MakePath(GetRegKeyValue("WPConfig\Apps\WPWin61\Paths\TemplateDir"))
- WP61DOCS$ = MakePath(GetRegKeyValue("WPConfig\Apps\WPWin61\Paths\DocumentsDir"))
- IF WP61DOCS$ <> "" THEN
- WP61$ = "ON"
- docPos% = INSTR(UCASE$(WP61DOCS$),WPDOCDIR$)
- IF docPos% <> 0 THEN
- WP61PATH$ = MID$(WP61DOCS$,1,docPos%-1)
- END IF
- ELSE
- WP61DOCS$ = WP61PATH$ + WPDOCDIR$
- END IF
- IF WP61MACROS$ = "" THEN
- WP61MACROS$ = WP61PATH$ + MACRODIR$
- END IF
- IF WP61TEMPLATES$ = "" THEN
- WP61TEMPLATES$ = WP61PATH$ + TEMPLATEDIR$
- END IF
- WP61DOCS$ = GetHDIString(WP61NAME$,DOCENTRY$,WP61DOCS$)
- WP61TEMPLATES$ = GetHDIString(WP61NAME$,TPLENTRY$,WP61TEMPLATES$ + "\HOTDOCS")
- WP61MACROS$ = GetHDIString(WP61NAME$,MACROENTRY$,WP61MACROS$)
- '$IFDEF RUNTIME
- WP61DOCS$ = ""
- '$ENDIF
- 'IF GetILString("WP61") <> "ON" THEN
- ' WP61$ = GetILString("WP61")
- 'END IF
-
-
- ''*** GET WP60 PATHS
- WP60PATH$ = "c:\wpwin60"
- WP60$ = "OFF"
- WP60MACROS$ = MakePath(GetRegKeyValue("WPConfig\Apps\WPWin60\Normal\MacroDir"))
- WP60TEMPLATES$ = MakePath(GetRegKeyValue("WPConfig\Apps\WPWin60\Normal\TemplateDir"))
- IF WP60MACROS$ = "" THEN
- WP60MACROS$ = WP60PATH$ + MACRODIR$
- ELSE
- WP60$ = "ON"
- macroPos% = INSTR(UCASE$(WP60MACROS$),MACRODIR$)
- IF macroPos% <> 0 THEN
- WP60PATH$ = MID$(WP60MACROS$,1,macroPos%-1)
- END IF
- END IF
- IF WP60TEMPLATES$ = "" THEN
- WP60TEMPLATES$ = WP60PATH$ + TEMPLATEDIR$
- END IF
- WP60DOCS$ = GetHDIString(WP60NAME$,DOCENTRY$,WP60PATH$ + WPDOCDIR$)
- WP60TEMPLATES$ = GetHDIString(WP60NAME$,TPLENTRY$,WP60TEMPLATES$)
- WP60MACROS$ = GetHDIString(WP60NAME$,MACROENTRY$,WP60MACROS$)
- '$IFDEF RUNTIME
- WP60DOCS$ = ""
- '$ENDIF
- 'IF GetILString("WP60") <> "ON" THEN
- ' WP60$ = GetILString("WP60")
- 'END IF
-
- ''*** GET WP52 PATHS
- WP52PATH$ = "c:\wpwin"
- WP52$ = "OFF"
- INIFILE$ = WINDIR$ + "WPC.INI"
- IF DoesFileExist(INIFILE$,femExists) AND DoesIniKeyExist(INIFILE$,"QuickList",GetILString( "QLMacros")) THEN
- WP52STUFF$ = GetIniKeyString(INIFILE$,"QuickList",GetILString( "QLMacros"))
- macroPos% = INSTR(UCASE$(WP52STUFF$),MACRODIR$)
- IF macroPos% <> 0 THEN
- WP52PATH$ = MID$(WP52STUFF$,1,macroPos%-1)
- END IF
- END IF
- IF IsDirWritable(WP52PATH$) THEN
- IF DoesDirExist(WP52PATH$) THEN
- WP52$ = "ON"
- END IF
- END IF
- WP52PATH$ = MakePath(WP52PATH$)
- WP52DOCS$ = GetHDIString(WP52NAME$,DOCENTRY$,WP52PATH$)
- WP52TEMPLATES$ = GetHDIString(WP52NAME$,TPLENTRY$,WP52PATH$ + TEMPLATEDIR$)
- WP52MACROS$ = GetHDIString(WP52NAME$,MACROENTRY$,WP52PATH$ + MACRODIR$)
- '$IFDEF RUNTIME
- WP52DOC$ = ""
- '$ENDIF
- 'IF GetILString("WP52") <> "ON" THEN
- ' WP52$ = GetILString("WP52")
- 'END IF
-
- ''*** GET MSW60 PATH
-
- MSW60DOCS$ = "c:\winword"
- MSW60TEMPLATES$ = "c:\winword" + TEMPLATEDIR$
- MSW60STARTUP$ = "c:\winword" + GetILString( "StartupDir")
- MSW60$ = "OFF"
- '*** LOOK IN WINWORD6.INI
- INIFILE$ = WINDIR$ + "WINWORD6.INI"
- IF DoesFileExist(INIFILE$,femExists) THEN
- IF DoesIniKeyExist(INIFILE$,"Microsoft Word","DOC-PATH") THEN
- MSW60DOCS$ = GetIniKeyString(INIFILE$,"Microsoft Word","DOC-PATH")
- END IF
- IF DoesIniKeyExist(INIFILE$,"Microsoft Word","USER-DOT-PATH") THEN
- MSW60TEMPLATES$ = UCASE$(GetIniKeyString(INIFILE$,"Microsoft Word","USER-DOT-PATH"))
- END IF
- IF DoesIniKeyExist(INIFILE$,"Microsoft Word","STARTUP-PATH") THEN
- MSW60STARTUP$ = GetIniKeyString(INIFILE$,"Microsoft Word","STARTUP-PATH")
- END IF
- MSW60$ = "ON"
- END IF
- '*** CHECK 32 BIT REGISTRATION DATABASE
- INIFILE$ = WINDIR$ + "HDWIN32.INI"
- IF DoesFileExist(INIFILE$,femExists) THEN
- IF DoesIniKeyExist(INIFILE$,"Short Path Names","DOC-PATH") THEN
- MSW60DOCS$ = GetIniKeyString(INIFILE$,"Short Path Names","DOC-PATH")
- END IF
- IF DoesIniKeyExist(INIFILE$,"Short Path Names","LocalTemplates") THEN
- MSW60TEMPLATES$ = UCASE$(GetIniKeyString(INIFILE$,"Short Path Names","LocalTemplates"))
- END IF
- IF DoesIniKeyExist(INIFILE$,"Short Path Names","STARTUP-PATH") THEN
- MSW60STARTUP$ = GetIniKeyString(INIFILE$,"Short Path Names","STARTUP-PATH")
- END IF
- MSW60$ = "ON"
- END IF
-
- '*** CHECK EXISTING INSTALLATION
- MSW60DOCS$ = GetHDIString(MSW60NAME$,DOCENTRY$,MSW60DOCS$)
- MSW60TEMPLATES$ = GetHDIString(MSW60NAME$,TPLENTRY$,MSW60TEMPLATES$)
- 'MSW60STARTUP$ = GetHDIString(MSW60NAME$,STARTUPENTRY$,MSW60STARTUP$)
- '$IFDEF RUNTIME
- MSW60DOCS$ = ""
- '$ENDIF
- 'IF GetILString("MSW60") <> "ON" THEN
- ' MSW60$ = GetILString("MSW60")
- 'END IF
-
- ''** GET MSW20 PATH
- MSW20PATH$ = "c:\winword"
- MSW20$ = "OFF"
- IF DoesFileExist(WININI$,femExists) THEN
- IF DoesIniKeyExist(WININI$,"Microsoft Word 2.0","programdir") THEN
- MSW20PATH$ = GetIniKeyString(WININI$,"Microsoft Word 2.0","programdir")
- ELSEIF DoesIniKeyExist(WININI$,"MSWord Text Converters","MSWordDos") THEN
- MSW20STUFF$ = GetIniKeyString(WININI$,"MSWord Text Converters","MSWordDos")
- colonPos% = INSTR(MSW20STUFF$,":")
- winwordPos% = INSTR(UCASE$(MSW20STUFF$),"WORD\")
- IF colonPos% > 0 AND winwordPos%>colonPos% THEN
- MSW20PATH$ = MID$(MSW20STUFF$,colonPos%-1,winwordPos%-colonPos%+5)
- END IF
- END IF
- END IF
- IF MSW20PATH$ = "" THEN
- MSW20PATH$ = "c:\winword\"
- END IF
- MSW20PATH$ = MakePath(MSW20PATH$)
- MSW20DOCS$ = MSW20PATH$
- MSW20TEMPLATES$ = UCASE$(MSW20PATH$ + TEMPLATEDIR$)
- IF IsDirWritable(MSW20PATH$) THEN
- IF DoesDirExist(MSW20PATH$) THEN
- IF MSW20TEMPLATES$ <> MSW60TEMPLATES$ THEN
- MSW20$ = "ON"
- END IF
- END IF
- END IF
- MSW20DOCS$ = GetHDIString(MSW20NAME$,DOCENTRY$,MSW20DOCS$)
- MSW20TEMPLATES$ = GetHDIString(MSW20NAME$,TPLENTRY$,MSW20TEMPLATES$)
- '$IFDEF RUNTIME
- MSW20DOCS$ = ""
- '$ENDIF
- 'IF GetILString("MSW20") <> "ON" THEN
- ' MSW20$ = GetILString("MSW20")
- 'END IF
-
- ''*** GET AMIPRO30 PATH
- AP30DOCS$ = "c:\amipro" + GetILString( "APDocDir")
- AP30MACROS$ = "c:\amipro" + MACRODIR$
- AP30ICONS$ = "c:\amipro" + GetILString( "APIconDir")
- AP30TEMPLATES$ = "c:\amipro" + TEMPLATEDIR$
- AP30TEMPLATES$ = "c:\amipro" + GetILString( "StyleDir")
- AP30$ = "OFF"
- INIFILE$ = WINDIR$ + "AMIPRO.INI"
- IF DoesFileExist(INIFILE$,femExists) THEN
- IF DoesIniKeyExist(INIFILE$,"AmiPro","docpath") THEN
- AP30DOCS$ = GetIniKeyString(INIFILE$,"AmiPro","docpath")
- END IF
- IF DoesIniKeyExist(INIFILE$,"AmiPro","macrodir") THEN
- AP30MACROS$ = GetIniKeyString(INIFILE$,"AmiPro","macrodir")
- END IF
- IF DoesIniKeyExist(INIFILE$,"AmiPro","iconpath") THEN
- AP30ICONS$ = GetIniKeyString(INIFILE$,"AmiPro","iconpath")
- END IF
- IF DoesIniKeyExist(INIFILE$,"AmiPro","stypath") THEN
- AP30STYLES$ = GetIniKeyString(INIFILE$,"AmiPro","stypath")
- END IF
- macroPos% = INSTR(UCASE$(AP30MACROS$),MACRODIR$)
- IF macroPos% <> 0 THEN
- AP30PATH$ = MID$(AP30MACROS$,1,macroPos%-1)
- END IF
- AP30$ = "ON"
- END IF
- AP30DOCS$ = GetHDIString(AP30NAME$,DOCENTRY$,AP30DOCS$)
- AP30TEMPLATES$ = GetHDIString(AP30NAME$,TPLENTRY$,AP30PATH$ + TEMPLATEDIR$)
- AP30MACROS$ = GetHDIString(AP30NAME$,MACROENTRY$,AP30MACROS$)
- AP30STYLES$ = GetHDIString(AP30NAME$,STYLEENTRY$,AP30STYLES)
- AP30ICONS$ = GetHDIString(AP30NAME$,ICONENTRY$,AP30ICONS$)
- '$IFDEF RUNTIME
- AP30DOCS$ = ""
- '$ENDIF
- 'IF GetILString("AP30") <> "ON" THEN
- ' AP30$ = GetILString("AP30")
- 'END IF
-
- '$ENDIF
-
- ''*** GET THE INSTALLATION TYPE
- HDPROG$ = "ON"
- HDUSER$ = "ON"
- '$IFDEF HOTDOCS AND NOT RUNTIME AND NOT EVALUATE
- IF GetILString("SamplesDir") <> "" THEN
- SAMPLES$ = "ON"
- ELSE
- SAMPLES$ = "OFF"
- ENDIF
- '$ENDIF
-
- AddListItem "CheckItemsIn", ""
- AddListItem "CheckItemsIn", ""
- AddListItem "CheckItemsIn", ""
- AddListItem "CheckItemsIn", ""
- AddListItem "CheckItemsIn", ""
- AddListItem "CheckItemsIn", ""
- AddListItem "CheckItemsIn", ""
-
- OPTION:
- ReplaceListItem "CheckItemsIn", 1, HDPROG$
- ReplaceListItem "CheckItemsIn", 2, HDUSER$
- '$IFDEF HOTDOCS AND NOT RUNTIME AND NOT EVALUATE
- ReplaceListItem "CheckItemsIn", 3, SAMPLES$
- '$ENDIF
- OPTL1:
- sz$ = UIStartDlg(CUIDLL$, INSTALLTYPE, "FCheckDlgProc", APPHELP, HELPPROC$)
- HDPROG$ = GetListItem("CheckItemsOut",1)
- HDUSER$ = GetListItem("CheckItemsOut",2)
- '$IFDEF HOTDOCS AND NOT RUNTIME AND NOT EVALUATE
- IF SAMPLES$ = "ON" THEN
- SAMPLES$ = GetListItem("CheckItemsOut",3)
- ENDIF
- '$ENDIF
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO OPTL1
- ELSE
- GOSUB ASKQUIT
- GOTO OPTION
- END IF
-
- ''*** GET THE HOTDOCS DIRECTORIES
- HD_DIRS% = STD_DIRS
- IF HDPROG$ = "ON" OR HDUSER$ = "ON" THEN
- GETPATH:
- SetEditSyms HDDIR$,HDTPLPATH$,HDANSPATH$,HDCOMPPATH$,"END"
- GETPATHL1:
- sz$ = UIStartDlg(CUIDLL$, HD_DIRS%, "FEditDlgProc", APPHELP, HELPPROC$)
- HDDIR$ = GetSymbolValue("EditTextOut")
- HDTPLPATH$ = GetSymbolValue("EditTextOut2")
- HDANSPATH$ = GetSymbolValue("EditTextOut3")
- HDCOMPPATH$ = GetSymbolValue("EditTextOut4")
-
- IF sz$ = "CONTINUE" THEN
- hdDrive$ = MID$(HDDIR$,1,1)
- IF DoesDirExist(HDDIR$) = 0 THEN
- '$IFDEF HOTFORMS
- spaceNeeded = 3000000 ' 3 MB
- '$ELSE
- spaceNeeded = 2500000 ' 2.5 MB
- '$ENDIF
- IF GetFreeSpaceForDrive(hdDrive$) < spaceNeeded THEN
- SetSymbolValue "BadPath", hdDrive$
- GOSUB NO_SPACE_DLG
- GOTO GETPATHL1
- END IF
- END IF
- IF IsDirWritable(HDDIR$) = 0 THEN
- SetSymbolValue "BadPath", HDDIR$
- GOSUB CANNOT_CREATE_DLG
- GOTO GETPATHL1
- END IF
- IF IsDirWritable(HDTPLPATH$) = 0 THEN
- SetSymbolValue "BadPath", HDTPLPATH$
- GOSUB CANNOT_CREATE_DLG
- GOTO GETPATHL1
- END IF
- IF IsDirWritable(HDANSPATH$) = 0 THEN
- SetSymbolValue "BadPath", HDANSPATH$
- GOSUB CANNOT_CREATE_DLG
- GOTO GETPATHL1
- END IF
- IF IsDirWritable(HDCOMPPATH$) = 0 THEN
- SetSymbolValue "BadPath", HDCOMPPATH$
- GOSUB CANNOT_CREATE_DLG
- GOTO GETPATHL1
- END IF
- IF HDPROG$ = "OFF" AND DoesDirExist(HDDIR$) = 0 THEN
- SetSymbolValue "BadPath", HDDIR$
- GOSUB DOES_NOT_EXIST
- GOTO GETPATHL1
- END IF
-
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO GETPATHL1
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO OPTION
- ELSE
- GOSUB ASKQUIT
- GOTO GETPATH
- END IF
- END IF
-
- '$IFDEF HOTDOCS
- ''*** GET THE WORD PROCESSORS TO INSTALL FOR
-
- WORDPROCS:
- ReplaceListItem "CheckItemsIn", 1, WP70$
- ReplaceListItem "CheckItemsIn", 2, WP61$
- ReplaceListItem "CheckItemsIn", 3, WP60$
- ReplaceListItem "CheckItemsIn", 4, WP52$
- ReplaceListItem "CheckItemsIn", 5, MSW60$
- ReplaceListItem "CheckItemsIn", 6, MSW20$
- ReplaceListItem "CheckItemsIn", 7, AP30$
-
- WORDPROCS1:
- sz$ = UIStartDlg(CUIDLL$, STD_WORDPROCS, "FCheckDlgProc", APPHELP, HELPPROC$)
- WP70$ = GetListItem("CheckItemsOut",1)
- WP61$ = GetListItem("CheckItemsOut",2)
- WP60$ = GetListItem("CheckItemsOut",3)
- WP52$ = GetListItem("CheckItemsOut",4)
- MSW60$ = GetListItem("CheckItemsOut",5)
- MSW20$ = GetListItem("CheckItemsOut",6)
- AP30$ = GetListItem("CheckItemsOut",7)
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO WORDPROCS1
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO OPTION
- ELSE
- GOSUB ASKQUIT
- GOTO WORDPROCS
- END IF
-
- IF WP70$ = "ON" THEN
- WP70:
- SetEditSyms WP70DOCS$,WP70MACROS$,WP70TEMPLATES$,"","END"
- WP701:
- sz$ = UIStartDlg(CUIDLL$, WP70DLG, "FEditDlgProc", APPHELP, HELPPROC$)
- '$IFNDEF RUNTIME
- WP70DOCS$ = GetSymbolValue("EditTextOut")
- '$ELSE
- WP70DOCS$ = ""
- '$ENDIF
- WP70MACROS$ = GetSymbolValue("EditTextOut2")
- WP70TEMPLATES$ = GetSymbolValue("EditTextOut3")
-
- IF sz$ = "CONTINUE" THEN
- IF CheckWPDirs(WP70MACROS$,WP70DOCS$) = 0 THEN
- GOSUB DOES_NOT_EXIST
- GOTO WP701
- END IF
- IF IsDirWritable(WP70TEMPLATES$) = 0 THEN
- SetSymbolValue "BadPath", WP70TEMPLATES$
- GOSUB DOES_NOT_EXIST
- GOTO WP701
- END IF
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO WP701
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO WORDPROCS
- ELSE
- GOSUB ASKQUIT
- GOTO WP70
- END IF
- END IF
- 'SetSymbolValue "WP70Tpl", WP70TEMPLATES$
-
- IF WP61$ = "ON" THEN
- WP61:
- SetEditSyms WP61DOCS$,WP61MACROS$,WP61TEMPLATES$,"","END"
- WP611:
- sz$ = UIStartDlg(CUIDLL$, WP61DLG, "FEditDlgProc", APPHELP, HELPPROC$)
- '$IFNDEF RUNTIME
- WP61DOCS$ = GetSymbolValue("EditTextOut")
- '$ELSE
- WP61DOCS$ = ""
- '$ENDIF
- WP61MACROS$ = GetSymbolValue("EditTextOut2")
- WP61TEMPLATES$ = GetSymbolValue("EditTextOut3")
-
- IF sz$ = "CONTINUE" THEN
- IF CheckWPDirs(WP61MACROS$,WP61DOCS$) = 0 THEN
- GOSUB DOES_NOT_EXIST
- GOTO WP611
- END IF
- IF IsDirWritable(WP61TEMPLATES$) = 0 THEN
- SetSymbolValue "BadPath", WP61TEMPLATES$
- GOSUB DOES_NOT_EXIST
- GOTO WP611
- END IF
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO WP611
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO WORDPROCS
- ELSE
- GOSUB ASKQUIT
- GOTO WP61
- END IF
- END IF
- 'SetSymbolValue "WP61Tpl", WP61TEMPLATES$
-
- IF WP60$ = "ON" THEN
- WP60:
- SetEditSyms WP60DOCS$,WP60MACROS$,WP60TEMPLATES$,"","END"
- WP601:
- sz$ = UIStartDlg(CUIDLL$, WP60DLG, "FEditDlgProc", APPHELP, HELPPROC$)
- '$IFNDEF RUNTIME
- WP60DOCS$ = GetSymbolValue("EditTextOut")
- '$ELSE
- WP60DOCS$ = ""
- '$ENDIF
- WP60MACROS$ = GetSymbolValue("EditTextOut2")
- WP60TEMPLATES$ = GetSymbolValue("EditTextOut3")
-
- IF sz$ = "CONTINUE" THEN
- IF CheckWPDirs(WP60DOCS$,WP60MACROS$) = 0 THEN
- GOSUB DOES_NOT_EXIST
- GOTO WP601
- END IF
- IF IsDirWritable(WP60TEMPLATES$) = 0 THEN
- SetSymbolValue "BadPath", WP60TEMPLATES$
- GOSUB DOES_NOT_EXIST
- GOTO WP601
- END IF
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO WP601
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO WORDPROCS
- ELSE
- GOSUB ASKQUIT
- GOTO WP60
- END IF
- END IF
- 'SetSymbolValue "WP60Tpl", WP60TEMPLATES$
-
- IF WP52$ = "ON" THEN
- WP52:
- SetEditSyms WP52DOCS$, WP52MACROS$, WP52TEMPLATES$,"","END"
- WP521:
- sz$ = UIStartDlg(CUIDLL$, WP52DLG, "FEditDlgProc", APPHELP, HELPPROC$)
- '$IFNDEF RUNTIME
- WP52DOCS$ = GetSymbolValue("EditTextOut")
- '$ELSE
- WP52DOCS$ = ""
- '$ENDIF
- WP52MACROS$ = GetSymbolValue("EditTextOut2")
- WP52TEMPLATES$ = GetSymbolValue("EditTextOut3")
-
- IF sz$ = "CONTINUE" THEN
- IF CheckWPDirs(WP52DOCS$,WP52MACROS$) = 0 THEN
- GOSUB DOES_NOT_EXIST
- GOTO WP521
- END IF
- IF IsDirWritable(WP52TEMPLATES$) = 0 THEN
- SetSymbolValue "BadPath", WP52TEMPLATES$
- GOSUB CANNOT_CREATE_DLG
- GOTO WP521
- END IF
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO WP521
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO WORDPROCS
- ELSE
- GOSUB ASKQUIT
- GOTO WP52
- END IF
- END IF
-
- IF MSW60$ = "ON" THEN
- MSW60:
- SetEditSyms MSW60DOCS$, MSW60TEMPLATES$, MSW60STARTUP$, "", "END"
- MSW601:
- sz$ = UIStartDlg(CUIDLL$, MSW60DLG, "FEditDlgProc", APPHELP, HELPPROC$)
- '$IFNDEF RUNTIME
- MSW60DOCS$ = GetSymbolValue("EditTextOut")
- '$ELSE
- MSW60DOCS$ = ""
- '$ENDIF
- MSW60TEMPLATES$ = GetSymbolValue("EditTextOut2")
- MSW60STARTUP$ = GetSymbolValue("EditTextOut3")
-
- IF sz$ = "CONTINUE" THEN
- IF CheckWPDirs(MSW60DOCS$,MSW60STARTUP$) = 0 THEN
- GOSUB DOES_NOT_EXIST
- GOTO MSW601
- END IF
- 'tDir$ = MSW60TEMPLATES$
- 'GetPathAlias(tDir$)
- 'IF UCASE$(tDir$) <> UCASE$(MSW60TEMPLATES$) THEN
- 'ELSE
- IF IsDirWritable(MSW60TEMPLATES$) = 0 THEN
- SetSymbolValue "BadPath", MSW60TEMPLATES$
- GOSUB DOES_NOT_EXIST
- GOTO MSW601
- END IF
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO MSW601
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO WORDPROCS
- ELSE
- GOSUB ASKQUIT
- GOTO MSW60
- END IF
- END IF
-
- IF MSW20$ = "ON" THEN
- MSW20:
- SetSymbolValue "EditTextIn", MSW20DOCS$
- SetSymbolValue "EditTextIn2", MSW20TEMPLATES$
- SetSymbolValue "EditFocus", "END"
- MSW201:
- sz$ = UIStartDlg(CUIDLL$, MSW20DLG, "FEditDlgProc", APPHELP, HELPPROC$)
- '$IFNDEF RUNTIME
- MSW20DOCS$ = GetSymbolValue("EditTextOut")
- '$ELSE
- MSW20DOCS$ = ""
- '$ENDIF
- MSW20TEMPLATES$ = GetSymbolValue("EditTextOut2")
-
- IF sz$ = "CONTINUE" THEN
- IF CheckWPDirs(MSW20DOCS$,"") = 0 THEN
- GOSUB DOES_NOT_EXIST
- GOTO MSW201
- END IF
- IF IsDirWritable(MSW20TEMPLATES$) = 0 THEN
- SetSymbolValue "BadPath", MSW20TEMPLATES$
- GOSUB DOES_NOT_EXIST
- GOTO MSW201
- END IF
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO MSW201
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO WORDPROCS
- ELSE
- GOSUB ASKQUIT
- GOTO MSW20
- END IF
- END IF
-
- IF AP30$ = "ON" THEN
- AP30:
- SetEditSyms AP30DOCS$, AP30MACROS$, AP30ICONS$, AP30TEMPLATES$, "END"
- SetSymbolValue "EditTextIn5", AP30STYLES$
- AP301:
- sz$ = UIStartDlg(CUIDLL$, AP30DLG, "FEditDlgProc", APPHELP, HELPPROC$)
- '$IFNDEF RUNTIME
- AP30DOCS$ = GetSymbolValue("EditTextOut")
- AP30MACROS$ = GetSymbolValue("EditTextOut2")
- AP30ICONS$ = GetSymbolValue("EditTextOut3")
- '$ELSE
- AP30DOCS$ = ""
- AP30MACROS$ = ""
- AP30ICONS$ = ""
- '$ENDIF
- AP30TEMPLATES$ = GetSymbolValue("EditTextOut4")
- AP30STYLES$ = GetSymbolValue("EditTextOut5")
-
- IF sz$ = "CONTINUE" THEN
- IF CheckWPDirs(AP30DOCS$,AP30MACROS$) = 0 THEN
- GOSUB DOES_NOT_EXIST
- GOTO AP301
- END IF
- IF CheckWPDirs(AP30ICONS$,AP30STYLES$) = 0 THEN
- GOSUB DOES_NOT_EXIST
- GOTO AP301
- END IF
- IF IsDirWritable(AP30TEMPLATES$) = 0 THEN
- SetSymbolValue "BadPath", AP30TEMPLATES$
- GOSUB DOES_NOT_EXIST
- GOTO AP301
- END IF
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO AP301
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO WORDPROCS
- ELSE
- GOSUB ASKQUIT
- GOTO AP30
- END IF
- END IF
- '$ENDIF
-
- SetSymbolValue "HDIniFile", HDINI$
- PERSONALINFO:
- sz$ = UIStartDlg(CUIDLL$, PERSONALINFO, "GetPersonalInfo", APPHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO PERSONALINFO
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- '$IFDEF HOTDOCS
- GOTO WORDPROCS
- '$ELSE
- GOTO OPTION
- '$ENDIF
- ELSE
- GOSUB ASKQUIT
- GOTO PERSONALINFO
- END IF
- Install
- NetscapeInstall
-
- '' HOTDOCS LABELS
- 'SET ERROR HANDLER
- ON ERROR GOTO ERRQUIT
-
- QUIT:
- IF ERR = 0 THEN
- dlg% = EXITSUCCESS
- ELSEIF ERR = STFQUIT THEN
- dlg% = EXITQUIT
- ELSE
- dlg% = EXITFAILURE
- END IF
- QUITL1:
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
- END IF
- UIPop 1
- END
-
- ERRQUIT:
- i = DoMsgBox(GetILString( "ErrQuitMsg"), GetILString( "ErrQuitTitle"), MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
- BADPATH:
- sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO BADPATH
- END IF
- UIPop 1
- RETURN
-
- DOES_NOT_EXIST:
- sz$ = UIStartDlg(CUIDLL$, DIR_NO_EXIST, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO DOES_NOT_EXIST
- END IF
- UIPop 1
- RETURN
-
- CANNOT_CREATE_DLG:
- sz$ = UIStartDlg(CUIDLL$, CANNOT_CREATE, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO CANNOT_CREATE_DLG
- END IF
- UIPop 1
- RETURN
-
- NO_SPACE_DLG:
- sz$ = UIStartDlg(CUIDLL$, NO_SPACE, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO NO_SPACE_DLG
- END IF
- UIPop 1
- RETURN
-
-
- ASKQUIT:
- sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
-
- IF sz$ = "EXIT" THEN
- UIPopAll
- ERROR STFQUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ASKQUIT
- ELSE
- UIPop 1
- END IF
- RETURN
-
- '******************* HOTDOCS INSTALL SUBROUTINE
- SUB Install STATIC
- '*** GET RID OF OLD STUFF
- '$IFNDEF RUNTIME
- RemoveHDFile "\hdpanel.exe"
- RemoveHDFile "\hotdocs.dll"
- RemoveHDFile "\hdeng.dll"
- RemoveHDFile "\hotdocs.hlp"
- '$ENDIF
- CREATECOMPDIR% = 0
- InstallCommonStuff
- '$IFDEF HOTDOCS
- InstallHotDocsStuff
- '$ENDIF
- '$IFDEF HOTFORMS
- InstallHotFormsStuff
- '$ENDIF
-
- IF CREATECOMPDIR% = 1 THEN
- '$IFDEF HOTDOCS AND NOT RUNTIME
- AddSectionFilesToCopyList "CompFiles", SRCDIR$, HDCOMPPATH$
- '$ENDIF
- END IF
-
- '$IFDEF HOTDOCS AND NOT RUNTIME AND NOT EVALUATE
- IF HDUSER$ = "ON" THEN
- IF SAMPLES$ = "ON" THEN
- CreateDir HDTPLPATH$ + GetILString("SamplesDir"), cmoVital
- AddSectionFilesToCopyList "Samples", SRCDIR$, HDTPLPATH$ + GetILString("SamplesDir")
- AddSectionFilesToCopyList "SamplesLib", SRCDIR$, HDDIR$
- END IF
- END IF
- '$ENDIF
-
- IF HDPROG$ = "ON" THEN
- PUB_KEY$ = ""
- PUB_NAME$ = ""
- vType% = 1
- hfType% = 1
- pubKey$ = ""
- '$IFDEF EVALUATE
- vType% = 4
- '$ELSEIFNDEF RUNTIME
- vType% = 0
- '$ELSEIFDEF REGISTER
- vType% = 2
- ''$ELSEIFDEF LIMITED
- '' vType% = 3
- '$ENDIF
- '$IFDEF HOTFORMS AND NOT REGISTER
- hfType = 0
- '$ENDIF
- replOk% = SetKeys(HDDIR$ + "\hd3vers.dll",vType%,hfType%,pubKey$)
- END IF
- IF GetILString("NoCopy") <> "YES" THEN
- CopyFilesInCopyList
- END IF
-
- IF HDPROG$ = "ON" THEN
- replOk% = ReplaceKeys(HDDIR$ + "\hd3vers.dll")
- END IF
-
- CreateProgmanGroup "HotDocs", "", cmoVital
- ShowProgmanGroup "HotDocs", 1, cmoNone
- HDEXEC$ = HDDIR$ + "\HOTDOCS3.EXE "
- CreateProgmanItem "HotDocs", "HotDocs", HDEXEC$, "",cmoOverwrite
- PROGITEM$ = GetILString( "ProgName")
- IF PROGITEM$ <> "" THEN
- HDIcon$ = GetILString( "HDIcon")
- IF HDIcon$ <> "" THEN
- HDIcon$ = SRCDIR$+HDIcon$
- END IF
- HDEXEC$ = HDEXEC$ + GetILString( "CommandLine")
- CreateProgmanItem "HotDocs", PROGITEM$, HDEXEC$, HDIcon$,cmoOverwrite
- END IF
- '$IFDEF HOTDOCS
- CreateHotDocsIcons
- '$ENDIF
- '$IFDEF HOTFORMS
- CreateHotFormsIcons
- '$ENDIF
- END SUB
-
- ''**************** COMMON SUBS AND FUNCTION
-
- SUB RemoveHDFile(fName$) STATIC
- IF DoesFileExist(HDDIR$ + fName$,femReadWrite) = 1 THEN
- RemoveFile HDDIR$ + fName$,cmoNone
- END IF
- END SUB
-
- SUB SetGlobals STATIC
- SRCDIR$ = GetSymbolValue("STF_SRCDIR")
-
- '' GET HOTDOCS.INI PREFERENCES
- TEMPLATEDIR$ = GetILString( "TemplateDir")
- DIRSECT$ = "Directories"
- PREFSECT$ = "Preferences"
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- HELPPROC$ = "" ''"FHelpDlgProc" ''Help dialog procedure
- WINDIR$ = GetWindowsDir()
- WINSYSDIR$=GetWindowsSysDir()
- WININI$ = WINDIR$ + "WIN.INI"
- HDINI$ = WINDIR$ + "HOTDOCS.INI"
- HDDIR$ = GetHDIString(DIRSECT$,"HotDocs Directory","C:\HOTDOCS")
- HDTPLPATH$ = GetHDIString(DIRSECT$,TPLENTRY$,HDDIR$ + TEMPLATEDIR$)
- HDANSPATH$ = GetHDIString(DIRSECT$,"Answer File Directory",GetILString( "AnswerDir"))
- HDCOMPPATH$ = GetHDIString(DIRSECT$,"Component File Directory",GetILString( "CompDir"))
- LIBENTRY$ = "Library Path"
- TPLENTRY$ = "Template Directory"
-
- '$IFDEF HOTDOCS
- DEMOPATH$ = "Demo Rent Path"
- MACROENTRY$ = "Macro Directory"
- DOCENTRY$ = "Document Directory"
- STYLEENTRY$ = "Style Directory"
- ICONENTRY$ = "Icon Directory"
- STARTUPENTRY$ = "Startup Directory"
- WP52NAME$ = "WordPerfect for Windows 5.2"
- WP60NAME$ = "WordPerfect for Windows 6.0"
- WP61NAME$ = "WordPerfect for Windows 6.1"
- WP70NAME$ = "WordPerfect for Windows 7.0"
- MSW20NAME$ = "MS Word for Windows 2.0"
- MSW60NAME$ = "MS Word for Windows 6.0"
- AP30NAME$ = "Lotus Ami Pro 3.x"
- MACRODIR$ = GetILString( "MacroDir")
- WPDOCDIR$ = GetILString( "WPDocDir")
- '$ENDIF
- END SUB
-
- FUNCTION MakePath (szDir$) STATIC AS STRING
- IF LEN(szDir$) = 0 THEN
- MakePath = ""
- ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
- MakePath = UCASE$(MID$(szDir$, 1, LEN(szDir$) - 1))
- ELSE
- MakePath = UCASE$(szDir$)
- END IF
- END FUNCTION
-
- FUNCTION GetHDIString (section$,entry$,default$) STATIC AS STRING
- GetHDIString = default$
- IF DoesIniKeyExist(HDINI$,section$,entry$) THEN
- GetHDIString = GetIniKeyString(HDINI$,section$,entry$)
- END IF
- END FUNCTION
-
- FUNCTION GetILString (section$) STATIC AS STRING
- GetILString = ""
- IF DoesIniKeyExist(SRCDIR$+"inst16.lst", "Strings", section$) THEN
- GetILString = GetIniKeyString(SRCDIR$+"inst16.lst", "Strings", section$)
- END IF
- END FUNCTION
-
- SUB InstallPref(prefName$,pref$) STATIC
- IF (pref$<>"") THEN
- CreateIniKeyValue HDINI$, PREFSECT$, prefName$, pref$, cmoOverwrite
- END IF
- END SUB
-
- SUB SetLogo STATIC
- SetBitmap CUIDLL$, LOGO
- SetTitle GetIniKeyString(SRCDIR$+"inst16.lst", "Params", "WndTitle")
- END SUB
-
- SUB InitInf STATIC
- '' SET .INF PATH TO APPROPRIATE PATH
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "HOTDOCS.INF"
- END IF
- ReadInfFile szInf$
- END SUB
-
- SUB InstallCommonStuff STATIC
- CreateIniKeyValue WININI$, "Extensions", "hdl", HDDIR$ + "\hotdocs3.exe /lf=^.hdl", cmoOverwrite
- CreateIniKeyValue HDINI$, DIRSECT$, "WinSys", WINSYSDIR$, cmoOverwrite
- AddSectionFilesToCopyList "WinSys",SRCDIR$,WINSYSDIR$
- IF (GetILString("Generics") = "YES") AND (HDUSER$ = "ON") THEN
- AddSectionFilesToCopyList "Templates",SRCDIR$,HDTPLPATH$
- END IF
- IF HDPROG$ = "ON" THEN
- CreateDir HDDIR$, cmoVital
- newerVers = 1
- IF NewerVersion(HDDIR$ + "\hd3lib.dll","3.0.2.0") = 1 THEN
- AddSectionFilesToCopyList "HotDocs", SRCDIR$, HDDIR$
- AddSectionFilesToCopyList "HDSys", SRCDIR$, HDDIR$
- AddSectionFilesToCopyList "HDSys", SRCDIR$, WINSYSDIR$
- ELSE
- newerVers = 0
- END IF
- '$IFDEF HOTFORMS
- '$IFDEF RUNTIME
- prog$ = "HotForms Filler"
- IF NewerVersion(HDDIR$ + "\hffill.exe","3.0.2.0") = 1 THEN
- '$ELSE
- prog$ = "HotForms Automator"
- IF NewerVersion(HDDIR$ + "\hotforms.exe","3.0.2.0") = 1 THEN
- '$ENDIF
- AddSectionFilesToCopyList "HotForms", SRCDIR$, HDDIR$
- '$IFNDEF RUNTIME
- AddSectionFilesToCopyList "HFWinSys", SRCDIR$, WINSYSDIR$
- '$ENDIF
- ELSE
- newerVers = 0
- END IF
- '$ELSE
- prog$ = "HotDocs"
- '$ENDIF
- IF newerVers = 0 THEN
- msg$ = "Newer versions of some of the " + prog$ + " Program Files were found and will not"
- msg$ = msg$ + " be overwritten. To completely install this older version, first uninstall " + prog$ + "."
- i = DoMsgBox(msg$,"Install Message",MB_OK)
- END IF
- AddSectionFilesToCopyList "VersFile", SRCDIR$, HDDIR$
- END IF
- IF HDUSER$ = "ON" THEN
- CreateDir HDTPLPATH$, cmoVital
- CreateDir HDCOMPPATH$, cmoVital
- CreateDir HDANSPATH$, cmoVital
- CREATECOMPDIR% = 1
- CreateIniKeyValue HDINI$, DIRSECT$, "HotDocs Directory", HDDIR$, cmoOverwrite
- CreateIniKeyValue HDINI$, DIRSECT$, "Help Directory", HDDIR$, cmoOverwrite
- CreateIniKeyValue HDINI$, DIRSECT$, TPLENTRY$, HDTPLPATH$, cmoOverwrite
- CreateIniKeyValue HDINI$, DIRSECT$, "Answer File Directory", HDANSPATH$, cmoOverwrite
- CreateIniKeyValue HDINI$, DIRSECT$, "Component File Directory", HDCOMPPATH$, cmoOverwrite
- CreateIniKeyValue HDINI$, PREFSECT$, "Example Date", GetILString( "ExampleDate"), cmoVital
- CreateIniKeyValue HDINI$, PREFSECT$, "Seed Component File", "True", cmoVital
-
- caretEntry$ = GetILString( "CaretEntry")
- caretPath$ = GetILString( "CaretPath")
- IF (caretEntry$ <> "") AND (caretPath$ <> "") THEN
- CreateIniKeyValue HDINI$, DIRSECT$, caretEntry$, caretPath$, cmoVital
- END IF
- contact$ = GetILString( "Contact")
- IF contact$ <> "" THEN
- CreateIniKeyValue HDINI$, PREFSECT$, "Contact", contact$, cmoVital
- END IF
-
- '' ADD PREFERENCES INTO HOTDOCS.INI
- '' GET HOTDOCS.INI PREFERENCES
- InstallPref "Language", GetILString( "Language")
- InstallPref "Text Formats", GetILString( "Text Formats")
- InstallPref "Date Formats", GetILString( "Date Formats")
- InstallPref "Validations", GetILString( "Validations")
- InstallPref "Merge Texts", GetILString( "Merge Texts")
- InstallPref "Group Formats", GetILString( "Group Formats")
- InstallPref "Currency Symbols", GetILString( "Currency Symbols")
- InstallPref "True/False Formats", GetILString( "True/False Formats")
- END IF
-
- '' SCULPTURED DIALOG BOXES DEFAULT TO ON
- CreateIniKeyValue HDINI$, PREFSECT$, "Sculptured Dialogs", "True", cmoOverwrite
- END SUB 'InstallCommonStuff
-
- FUNCTION NewerVersion(versFile$,newVers$) STATIC AS INTEGER
- NewerVersion = 1
- IF DoesFileExist(versFile$,femReadWrite) = 1 THEN
- oldVers$ = GetVersionOfFile(versFile$)
- new% = GetVersionNthField(newVers$,2)
- old% = GetVersionNthField(oldVers$,2)
- IF new% < old% THEN
- NewerVersion = 0
- ELSEIF new% = old% THEN
- new% = GetVersionNthField(newVers$,3)
- old% = GetVersionNthField(oldVers$,3)
- IF new% < old% THEN
- NewerVersion = 0
- ELSEIF new% = old% THEN
- new% = GetVersionNthField(newVers$,4)
- old% = GetVersionNthField(oldVers$,4)
- IF new% < old% THEN
- NewerVersion = 0
- END IF
- END IF
- END IF
- END IF
- END FUNCTION 'NewerVersion
-
- SUB InstallWP(wpName$,wpPrefix$,wpTplDir$,wpDocDir$,wpLibName$) STATIC
- CreateIniKeyValue HDINI$, wpName$, TPLENTRY$, wpTplDir$, cmoOverwrite
- IF wpDocDir$ <> "" THEN
- CreateIniKeyValue HDINI$, PREFSECT$, "Default Word Processor", wpName$, cmoVital
- END IF
-
- '$IFNDEF RUNTIME
- IF wpDocDir$ <> "" THEN
- CreateIniKeyValue HDINI$, wpName$, DOCENTRY$, wpDocDir$, cmoOverwrite
- END IF
- IF (DoesIniKeyExist(HDINI$,wpName$,DEMOPATH$)) THEN
- RemoveIniKey HDINI$,wpName$, DEMOPATH$, cmoNone
- END IF
- IF (DoesIniKeyExist(HDINI$,wpName$,LIBENTRY$)) THEN
- RemoveIniKey HDINI$,wpName$, LIBENTRY$, cmoNone
- END IF
- IF wpDocDir$ <> "" THEN
- AddSectionFilesToCopyList wpPrefix$ + "Docs", SRCDIR$, wpDocDir$
- END IF
- CREATECOMPDIR% = 1
- IF wpLibName <> "" THEN
- CreateIniKeyValue HDINI$, DIRSECT$, LIBENTRY$, HDDIR$ + wpLibName$, cmoVital
- AddSectionFilesToCopyList wpPrefix$ + "Libraries", SRCDIR$, HDDIR$
- END IF
- CreateDir wpTplDir$, cmoVital
- AddSectionFilesToCopyList wpPrefix$ + "Templates", SRCDIR$, wpTplDir$
- '$ENDIF
- END SUB
-
- SUB SetEditSyms(sym1$,sym2$,sym3$,sym4$,focus$) STATIC
- SetSymbolValue "EditTextIn", sym1$
- SetSymbolValue "EditTextIn2", sym2$
- SetSymbolValue "EditTextIn3", sym3$
- SetSymbolValue "EditTextIn4", sym4$
- SetSymbolValue "EditFocus", focus$
- END SUB
-
- '***** COMMON FUNCTIONS
-
-
- '$IFDEF HOTDOCS '**************** HOTDOCS SUBS AND FUNCTIONS
-
- FUNCTION CheckWPDirs(dir1$,dir2$) STATIC AS INTEGER
- CheckWPDirs = 1
- IF dir1$ <> "" THEN
- 'tDir$ = dir1$
- 'GetPathAlias(tDir$)
- 'IF UCASE$(tDir$) <> dir1$ THEN
- 'ELSE
- IF IsDirWritable(dir1$) = 0 THEN
- SetSymbolValue "BadPath", dir1$
- CheckWPDirs = 0
- ELSEIF DoesDirExist(dir1$) = 0 THEN
- SetSymbolValue "BadPath", dir1$
- CheckWPDirs = 0
- END IF
- END IF
- IF dir2$ <> "" THEN
- tDir$ = dir2$
- IF UCASE$(tDir$) <> UCASE$(dir1$) THEN
- ELSEIF IsDirWritable(dir2$) = 0 THEN
- SetSymbolValue "BadPath", dir2$
- CheckWPDirs = 0
- ELSEIF DoesDirExist(dir2$) = 0 THEN
- SetSymbolValue "BadPath", dir2$
- CheckWPDirs = 0
- END IF
- END IF
- END FUNCTION
-
- SUB InstallHotDocsStuff STATIC
- installHlp% = 1
- '$IFDEF RUNTIME
- IF DoesFileExist(HDDIR$ + "\hotdocs3.hlp",femReadWrite) = 1 THEN
- IF GetSizeOfFile(HDDIR$ + "\hotdocs3.hlp") > 400000 THEN
- installHlp% = 0
- END IF
- END IF
- '$ENDIF
- IF installHlp% = 1 THEN
- AddSectionFilesToCopyList "HDHelp", SRCDIR$, HDDIR$
- END IF
- '*** Use WordPerfect 6.1 templates and library for WordPerfect 7.0
- IF WP70$ = "ON" THEN
- InstallWP WP70NAME$,"WP61",WP70TEMPLATES$,WP70DOCS$,"\WP61_30.HDL"
- AddSectionFilesToCopyList "WP70Macros", SRCDIR$, WP70MACROS$
- CreateIniKeyValue HDINI$, WP70NAME$, MACROENTRY$, WP70MACROS$, cmoOverwrite
- END IF
- IF WP61$ = "ON" THEN
- InstallWP WP61NAME$,"WP61",WP61TEMPLATES$,WP61DOCS$,"\WP61_30.HDL"
- AddSectionFilesToCopyList "WP61Macros", SRCDIR$, WP61MACROS$
- CreateIniKeyValue HDINI$, WP61NAME$, MACROENTRY$, WP61MACROS$, cmoOverwrite
- END IF
- IF WP60$ = "ON" THEN
- InstallWP WP60NAME$,"WP60",WP60TEMPLATES$,WP60DOCS$,"\WP60A_30.HDL"
- AddSectionFilesToCopyList "WP60Macros", SRCDIR$, WP60MACROS$
- CreateIniKeyValue HDINI$, WP60NAME$, MACROENTRY$, WP60MACROS$, cmoOverwrite
- END IF
- IF WP52$ = "ON" THEN
- InstallWP WP52NAME$,"WP52",WP52TEMPLATES$,WP52DOCS$,"\WP52_30.HDL"
- AddSectionFilesToCopyList "WP52Macros", SRCDIR$, WP52Macros$
- CreateIniKeyValue HDINI$, WP52NAME$, MACROENTRY$, WP52Macros$, cmoOverwrite
- END IF
- IF MSW60$ = "ON" THEN
- InstallWP MSW60NAME$,"MSW60",MSW60TEMPLATES$,MSW60DOCS$,"\MSW60_30.HDL"
- AddSectionFilesToCopyList "MSW60Startup", SRCDIR$, MSW60STARTUP$
- CreateIniKeyValue HDINI$, MSW60NAME$, STARTUPENTRY$, MSW60STARTUP$, cmoVital
- END IF
- IF MSW20$ = "ON" THEN
- InstallWP MSW20NAME$,"MSW20",MSW20TEMPLATES$,MSW20DOCS$,"\MSW20_30.HDL"
- END IF
- IF AP30$ = "ON" THEN
- InstallWP AP30NAME$,"AP30",AP30TEMPLATES$,AP30DOCS$,"\AP30_30.HDL"
- AddSectionFilesToCopyList "AP30Styles", SRCDIR$, AP30STYLES$
- CreateIniKeyValue HDINI$, AP30NAME$, STYLEENTRY$, AP30STYLES$, cmoVital
- '$IFNDEF RUNTIME
- AP30INI$ = WINDIR$ + "AMIPRO.INI"
- IF (DoesIniSectionExist(HDINI$,"Lotus AmiPro 3.0")) THEN
- RemoveIniSection HDINI$, "Lotus AmiPro 3.0",cmoNone
- END IF
- AddSectionFilesToCopyList "AP30Macros", SRCDIR$, AP30MACROS$
- CreateIniKeyValue HDINI$, AP30NAME$, MACROENTRY$, AP30MACROS$, cmoVital
- AddSectionFilesToCopyList "AP30Icons", SRCDIR$, AP30ICONS$
- CreateIniKeyValue HDINI$, AP30NAME$, ICONENTRY$, AP30ICONS$, cmoVital
- CreateIniKeyValue AP30INI$, "AmiPro", "macro-SC,V", AP30MACROS$+"\HDVAR.SMM", cmoOverwrite
- CreateIniKeyValue AP30INI$, "AmiPro", "macro-SC,C", AP30MACROS$+"\HDCLSTPL.SMM", cmoOverwrite
- CreateIniKeyValue AP30INI$, "AmiPro", "macro-SC,M", AP30MACROS$+"\HDMANAGE.SMM", cmoOverwrite
- CreateIniKeyValue AP30INI$, "AmiPro", "macro-SC,L", AP30MACROS$+"\HDLIB.SMM", cmoOverwrite
- CreateIniKeyValue AP30INI$, "AmiPro", "macro-SC,N", AP30MACROS$+"\HDINSERT.SMM", cmoOverwrite
- CreateIniKeyValue AP30INI$, "AmiPro", "macro-SC,I", AP30MACROS$+"\HDIF.SMM", cmoOverwrite
- CreateIniKeyValue AP30INI$, "AmiPro", "macro-SC,R", AP30MACROS$+"\HDREPEAT.SMM", cmoOverwrite
- CreateIniKeyValue AP30INI$, "AmiPro", "macro-SC,S", AP30MACROS$+"\HDSAVTPL.SMM", cmoOverwrite
- CreateIniKeyValue AP30INI$, "AmiPro", "macro-SC,T", AP30MACROS$+"\HDTSTASM.SMM", cmoOverwrite
- CreateIniKeyValue AP30INI$, "AmiPro", "macro-SC,A", AP30MACROS$+"\HDASK.SMM", cmoOverwrite
- '$ENDIF
- END IF
- '$IFNDEF RUNTIME
- CreateIniKeyValue HDINI$, "Library", "Learning HotDocs", "Open", cmoOverwrite
- IF (GetIniKeyString(HDINI$,PREFSECT$,"Default Word Processor")="Lotus AmiPro 3.0") THEN
- CreateIniKeyValue HDINI$, PREFSECT$, "Default Word Processor", AP30NAME$, cmoOverwrite
- END IF
- '$ENDIF
- IF (GetIniKeyString(HDINI$,PREFSECT$,"Default Word Processor")="MS Word for Windows 6.0/7.0") THEN
- CreateIniKeyValue HDINI$, PREFSECT$, "Default Word Processor", MSW60NAME$, cmoOverwrite
- END IF
- ''CreateIniKeyValue WININI$, "Extensions", "tpl", HDDIR$ + "\hotdocs3.exe /tf=^.tpl", cmoOverwrite
- END SUB '' InstallHotDocs Stuff
-
- SUB CreateHotDocsIcons STATIC
- '$IFNDEF RUNTIME
- CreateProgmanItem "HotDocs", "HotDocs ReadMe", HDDIR$+"\HDREADME.WRI","", cmoOverwrite
- '$ENDIF
- END SUB
-
- '$ENDIF ''**** HOTDOCS SUBS AND FUNCTIONS
-
- '$IFDEF HOTFORMS '************** HOTFORMS SUBS AND FUNCS
-
- SUB InstallHotFormsStuff STATIC
- '$IFNDEF RUNTIME
- HFAUTO$ = "HotForms Automator 3.0"
- HFDRV$ = "HotForms Driver 3.0"
- ''Create [HotFormS Automator 3.0] section
- InstallWP HFAUTO$,"HF30",HDTPLPATH$,"","\HOTFORMS.HDL"
- CreateIniKeyValue HDINI$, HFAUTO$, "Execution Path",HDDIR$ + "\hotforms.exe",cmoOverwrite
-
- ''Create [HotForms Driver 3.0] section
- CreateIniKeyValue HDINI$, HFDRV$,"Spool Directory", HDTPLPATH$, cmoOverwrite
- CreateIniKeyValue HDINI$, HFDRV$,"Notified Application", HDDIR$ + "\hotforms.exe -dde", cmoOverwrite
- UserName$=GetIniKeyString(HDINI,"Personal Info","NAME")
- CreateIniKeyValue HDINI$, HFDRV$,"User Name",UserName$, cmoOverwrite
- UserOrg$=GetIniKeyString(HDINI,"Personal Info","COMPANY")
- CreateIniKeyValue HDINI$, HFDRV$,"User Organization" ,UserOrg$, cmoOverwrite
- CreateIniKeyValue HDINI$, HFDRV$,"Document Directory", HDTPLPATH$, cmoOverwrite
- CreateIniKeyValue HDINI$, HFDRV$,"Destination","16", cmoOverwrite
- CreateIniKeyValue HDINI$, HFDRV$,"Custom Width","8.50", cmoOverwrite
- CreateIniKeyValue HDINI$, HFDRV$,"Custom Height","11.0", cmoOverwrite
- CreateIniKeyValue HDINI$, HFDRV$,"Paper Index","0", cmoOverwrite
- CreateIniKeyValue HDINI$, HFDRV$,"Scale","100", cmoOverwrite
- CreateIniKeyValue HDINI$, HFDRV$,"Custom Settings","300,300,24,300,300,8", cmoOverwrite
- CreateIniKeyValue HDINI$, HFDRV$,"Settings Index","0", cmoOverwrite
- CreateIniKeyValue WININI$,"ports","HFD:","",cmoOverwrite
- CreateIniKeyValue WININI$,"PrinterPorts",HFDRV$,"HFD30DR,HFD:,15,45",cmoOverwrite
- CreateIniKeyValue WININI$,"devices",HFDRV$,"HFD30DR,HFD:",cmoOverwrite
- '$ENDIF
-
- ''Create [HotForms Filler 3.0] section
- HFFILL$ = "HotForms Filler 3.0"
- CreateIniKeyValue HDINI, HFFILL$, TPLENTRY$, HDTPLPATH$, cmoOverwrite
- CreateIniKeyValue WININI$,"Extensions","hft",HDDIR$ + "\hotforms.exe ^.hft",cmoOverwrite
- CreateIniKeyValue WININI$,"Extensions","hfd",HDDIR$ + "\hotforms.exe ^.hfd",cmoOverwrite
- END SUB '' InstallHotFormsStuff
-
- SUB CreateHotFormsIcons STATIC
- '$IFDEF RUNTIME
- CreateProgmanItem "HotDocs", "HotForms Filler 3.0", HDDIR$ + "\HFFILL.EXE", "", cmoOverwrite
- '$ELSE
- CreateProgmanItem "HotDocs", "HotForms Library", HDDIR$ + "\HOTDOCS3.EXE /lf=HOTFORMS.HDL", "", cmoOverwrite
- CreateProgmanItem "HotDocs", "HotForms Automator 3.0", HDDIR$ + "\HOTFORMS.EXE", "", cmoOverwrite
- CreateProgmanItem "HotDocs", "HotForms 3.0 ReadMe", HDDIR$ + "\HFREADME.WRI", "", cmoOverwrite
- '$ENDIF
- END SUB
-
- '$ENDIF '******** HOTFORMS SUBS AND FUNCS
-