home *** CD-ROM | disk | FTP | other *** search
/ SAT1: Expresso / EXPRESSO.iso / program / radk / radk.ms_ / radk.bin
Encoding:
Text File  |  1995-06-30  |  20.6 KB  |  601 lines

  1. '**************************************************************************
  2. '*                       Script File fuer RAN AN DIE KOHLE 
  3. '*    Version fuer Standard Infoware
  4. '**************************************************************************
  5. '' Damit der Cursor jederzeit restauriert werden kann
  6. GLOBAL Cursor%
  7. Cursor% = 0
  8.  
  9. '$INCLUDE 'setupapi.inc'
  10. '$INCLUDE 'msdetect.inc'
  11. '$INCLUDE 'lexware.inc'
  12. '$INCLUDE 'version.inc'
  13.  
  14. '*===========================================================================
  15. '*   VERSIONS - Definitionen
  16. '*===========================================================================
  17. CONST ProgVer$ = "Ran an die KOHLE '95, Version 1.00"
  18. CONST Version$ = "1.00"
  19. '*===========================================================================
  20. '*   Resourcen ID's
  21. '*
  22. '*   !!!!!!!!!!!!!! Auf Uebereinstimmung mit st_setup.h achten !!!!!!!!!!!
  23. '*
  24. '*===========================================================================
  25. '*   Dialogboxen
  26. '*===========================================================================
  27. CONST DLG_INTRO             = 100
  28. CONST DLG_SERIENNR          = 101
  29. CONST DLG_FIRMA             = 102
  30. CONST DLG_PROGPFAD          = 103
  31. CONST DLG_DATENDATPFAD      = 104
  32. CONST DLG_INSTOPTION        = 105
  33. CONST DLG_INFO              = 106
  34. CONST DLG_NETZINSTALL       = 107
  35. '*===========================================================================
  36. '*   Hilfe - Fenster
  37. '*===========================================================================
  38. CONST HLP_INTRO             = 200
  39. CONST HLP_FIRMA             = 201
  40. CONST HLP_PROGPFAD          = 202
  41. CONST HLP_DATENDATPFAD      = 203
  42. CONST HLP_INSTOPTION        = 204
  43. '*===========================================================================
  44. '*   Meldungs Fenster
  45. '*===========================================================================
  46. CONST MSG_ABBRUCHFRAGE      = 300
  47. CONST MSG_FALSCHPFAD        = 301
  48. CONST MSG_SETUPFEHLER       = 302
  49. CONST MSG_VERLSETUP         = 303
  50. CONST MSG_SETUPERFOLG       = 304
  51. CONST MSG_SPEICHERPLATZ     = 305
  52. CONST MSG_WARTEN            = 306
  53. CONST MSG_PROGRAMMGRUPPE    = 307
  54. CONST MSG_FALSCHNETZPFAD    = 308
  55. CONST MSG_NETZINSTALL       = 309
  56. '*===========================================================================
  57. '*   Bitmap - Anzeigefenster
  58. '*===========================================================================
  59. CONST ANZ_WERBUNG1          = 401
  60. CONST ANZ_WERBUNG2          = 402
  61. CONST ANZ_WERBUNG3          = 403
  62. CONST ANZ_WERBUNG4          = 404
  63. CONST ANZ_WERBUNG5          = 405
  64. CONST ANZ_WERBUNG6          = 406
  65. '*===========================================================================
  66. '*   Einstellen wieviele Dateien kopiert werden muesen je nach Bereich
  67. '*===========================================================================
  68. '$ifdef VER_CD
  69. CONST ANZAHL_SECTIONS       = 5
  70. CONST COPY_FILES_SECTION_A  = 14
  71. CONST COPY_FILES_SECTION_B  = 6
  72. CONST COPY_FILES_SECTION_C  = 14
  73. CONST COPY_FILES_SECTION_D  = 1
  74. CONST COPY_FILES_SECTION_E  = 1
  75. CONST COPY_FILES_SECTION_F  = 1
  76. '$endif
  77.  
  78. '$ifdef VER_DISKETTE
  79. CONST ANZAHL_SECTIONS       = 5
  80. CONST COPY_FILES_SECTION_A  = 14
  81. CONST COPY_FILES_SECTION_B  = 6
  82. CONST COPY_FILES_SECTION_C  = 12
  83. CONST COPY_FILES_SECTION_D  = 1
  84. CONST COPY_FILES_SECTION_E  = 1
  85. CONST COPY_FILES_SECTION_F  = 1
  86. '$endif
  87.  
  88. ''Lokale Variablen
  89. DIM LaufWrk AS STRING*3     ''Default destination drive.
  90. DIM F_Speicher AS LONG      ''Freier DatentrΣgerspeicherplatz.
  91. DIM N_Speicher AS LONG      ''N÷tiger DatentrΣgerspeicherplatz.
  92. DIM K_Size AS LONG          ''Speicherbedarf von jew. Datei aus INF-File.
  93.  
  94. ''Globale Variablen
  95. GLOBAL Prog$                '' Default Programmverzeichnis.
  96. GLOBAL Dat$                 '' Default Datendateiverzeichnis.
  97. GLOBAL StdFor$              '' Verz. fⁿr Standardformular-Dateien
  98. GLOBAL Org AS STRING
  99. GLOBAL Zun AS STRING        '' Es folgen die Personalien
  100. GLOBAL Ser AS STRING
  101. GLOBAL sz AS STRING         '' Rⁿckgabewert Dialog-Box-Eingabe
  102. GLOBAL Wahl$                '' Wahl der Install. Netz oder Einzel
  103.  
  104. ''Dialog list symbol names
  105. GLOBAL DRIVETEXT$
  106.  
  107. DECLARE SUB Install
  108. DECLARE FUNCTION GetDriveType LIB "kernel" ( drive% ) AS INTEGER
  109. DECLARE SUB ProgmanCommand LIB "mscuistf.dll" ( szCommand$ )
  110. DECLARE SUB DeleteProgmanItem LIB "mscuistf.dll" ( szCommand$ )
  111. DECLARE SUB SumCheckAll LIB "mscuistf.dll" ( szFile$, szVGroesse$, szVPruef$ )
  112.  
  113. ''INIT
  114.    Wahl$ = "1"
  115.  
  116.    IF LexInit(0) = 1 THEN
  117.      STOP
  118.    END IF
  119.  
  120.    IF GetSymbolValue("STF_SRCINFPATH") = "" THEN
  121.       ReadInfFile GetSymbolValue("STF_CWDDIR")+"radk_.inf"
  122.    ELSE
  123.       ReadInfFile GetSymbolValue("STF_SRCINFPATH")
  124.    END IF
  125.  
  126.    '' nach einer bereits Installierten *.INI suchen und diese
  127.    '' Einstellungen uebernehmen
  128.    IF EXISTS(LexMakePath(GetWindowsDir,"radk.INI")) THEN
  129.       Prog = LCASE$(GetIniKeyString(LexMakePath(GetWindowsDir,"radk.INI"), "Verzeichnisse", "Prog"))
  130.       Dat = LCASE$(GetIniKeyString(LexMakePath(GetWindowsDir,"radk.INI"), "Verzeichnisse", "Daten"))
  131.       Org = RTRIM$(GetIniKeyString(LexMakePath(GetWindowsDir,"radk.INI"), "Inst", "Init3"))
  132.       Org = LexUserDeCode( Org )
  133.       Zun = RTRIM$(GetIniKeyString(LexMakePath(GetWindowsDir,"radk.INI"), "Inst", "Init2"))
  134.       Zun = LexUserDeCode( Zun )
  135.       Ser = ""
  136.  
  137.    '' keine INI gefunden, also Defaultwerte
  138.    ELSE
  139.       LaufWrk = LCASE$(MID$(GetWindowsDir,1,3))
  140.       Prog = LCASE$(MID$(GetWindowsDir,1, 3) + "RADK\")
  141.       Dat = LCASE$("\DATEN\")
  142.       Org = ""
  143.       Zun = ""
  144.       Ser = ""
  145.    END IF
  146.  
  147.    szCurPath$ = GetSymbolValue("STF_SRCDIR")
  148.  
  149. ''CustInst list symbols
  150.     DRIVETEXT$   = "DriveStatusText"
  151.     FOR i% = 1 TO 3 STEP 1
  152.      AddListItem DRIVETEXT$, ""
  153.     NEXT i%
  154.     ReplaceListItem DRIVETEXT$, 3, RTRIM$(Prog)
  155.  
  156. '' Begruessungsbox
  157. BEGRUESSUNG:
  158.     sz = UIStartDlg("mscuistf.dll", DLG_INTRO, "FInfoDlgProc", HLP_INTRO, "FHelpDlgProc")
  159.     IF sz = "CONTINUE" THEN
  160.        UIPop 1
  161.     ELSE
  162.        UIPop 1
  163.        GOSUB ABBRUCHFRAGE
  164.        GOTO BEGRUESSUNG
  165.     END IF
  166.  
  167. SERIEN_NR:
  168.    Ser="0127677"
  169.  
  170. USER_DAT:
  171.    SetSymbolValue "OrgIn", RTRIM$(Org)
  172.    SetSymbolValue "NameIn", RTRIM$(Zun)
  173.    sz = UIStartDlg("mscuistf.dll", DLG_FIRMA, "FNameOrg2DlgProc", HLP_FIRMA, "FHelpDlgProc")
  174.  
  175.    IF sz = "CONTINUE" THEN
  176.       Org = GetSymbolValue("OrgOut")
  177.       Zun = GetSymbolValue("NameOut")
  178.  
  179.       '' Name Sollte angegeben werden
  180.       IF (RTRIM$(Zun) = "") AND (sz = "CONTINUE") THEN
  181.          i% = DoMsgBox("Sie mⁿssen Ihren Namen eingeben !", "Ran an die KOHLE'95", MB_TASKMODAL+MB_ICONEXCLAMATION+MB_OK)
  182.          GOTO USER_DAT
  183.       ELSE
  184.          UIPop 1
  185.       END IF
  186.    ELSEIF sz = "REACTIVATE" THEN
  187.       GOTO USER_DAT
  188.    ELSEIF sz = "BACK" THEN
  189.       UIPop 1
  190.  
  191.       GOTO BEGRUESSUNG
  192.  
  193.    ELSE
  194.       UIPop 1
  195.       GOSUB ABBRUCHFRAGE
  196.       GOTO USER_DAT
  197.    END IF
  198.    sz = ""
  199.  
  200. '******************************************************************************************
  201. GETPATH:
  202.       SetSymbolValue "EditTextIn", RTRIM$(Prog)
  203.       SetSymbolValue "EditFocus", "END"
  204. PROGPFAD:
  205.       Wahl = "1"
  206.       sz = UIStartDlg("mscuistf.dll",  DLG_PROGPFAD, "FEditDlgProc", HLP_PROGPFAD, "FHelpDlgProc")
  207.  
  208.       Prog = RTRIM$(GetSymbolValue("EditTextOut"))
  209.       LaufWrk = MID$(RTRIM$(Prog),1,3)
  210.  
  211.  
  212.       IF (3 = LEN(RTRIM$(Prog))) THEN
  213.          Dat = LCASE$(LaufWrk+"DATEN\")
  214.       ELSE
  215.           Dat = LexMakePath(RTRIM$(Prog),"DATEN\")
  216.       END IF
  217.  
  218.       IF sz = "CONTINUE" THEN
  219.          IF IsDirWritable(RTRIM$(Prog)) = 0 THEN
  220.             GOSUB FALSCHPFAD
  221.             GOTO PROGPFAD
  222.          END IF
  223.          IF EXISTS(LexMakePath(RTRIM$(Prog), "radk.exe")) THEN
  224.             UIPop 1
  225.             GOTO Netz_Info
  226.          ELSE
  227.             UIPop 1
  228.             GOTO GETPATH1
  229.          END IF
  230.          UIPop 1
  231.       ELSEIF sz = "REACTIVATE" THEN
  232.          GOTO PROGPFAD
  233.       ELSEIF sz = "BACK" THEN
  234.             UIPop 1
  235.             GOTO USER_DAT
  236.           ELSE
  237.             GOSUB ABBRUCHFRAGE
  238.             GOTO GETPATH
  239.       END IF
  240.       sz = ""
  241. ''===========================================================================================
  242. '* Netzwerk Installation
  243. ''===========================================================================================
  244. '' In der Einzelversion entfaellt die Netzoption
  245. Netz_Info:
  246. '$ifdef NETZ
  247.    sz= UIStartDlg("mscuistf.dll", MSG_NETZINSTALL, "FInfoDlgProc", 0, "")
  248.    IF sz = "BACK" THEN
  249.       UIPop 1
  250.       GOTO PROGPFAD
  251.    ELSE
  252.       UIPop 1
  253.    END IF
  254.    sz = ""
  255.  
  256. Netz_Install:
  257.     sz = UIStartDlg("mscuistf.dll", DLG_NETZINSTALL, "FQuitDlgProc", 0, "")
  258.     IF     sz = "BACK" THEN
  259.         UIPop 1
  260.         Wahl$ = "1"
  261.     ELSEIF sz = "CONTINUE" THEN
  262.         UIPop 1
  263.         Wahl$ = "2"
  264.     ELSEIF sz = "EXIT" THEN
  265.         GOSUB ABBRUCHFRAGE
  266.         GOTO Netz_Install
  267.     ELSE
  268.         UIPop 1
  269.         GOTO GETPATH
  270.     END IF
  271.  
  272.    IF EXISTS(LexMakePath(RTRIM$(Prog),"radk.INI")) THEN
  273.       Dat = LCASE$(GetIniKeyString(LexMakePath(RTRIM$(Prog),"radk.INI"), "Verzeichnisse", "Daten"))
  274.    END IF
  275.    IF Wahl$ = "2" THEN
  276.       IF NOT EXISTS(LexMakePath(RTRIM$(Dat), "stb_pers.btw")) THEN
  277.          GOSUB FALSCHNETZPFAD
  278.          GOTO GETPATH
  279.       END IF
  280.    END IF
  281. '$endif ''Netz-Option
  282.  
  283. ''================================================================================
  284. '* Daten Verzeichnis
  285. ''================================================================================
  286. GETPATH1:
  287.       SetSymbolValue "EditTextIn", LCASE$(RTRIM$(Dat))
  288.       SetSymbolValue "EditFocus", "END"
  289.  
  290.       IF Wahl$ <> "2" THEN
  291.          DATENDATPFAD:
  292.           sz = UIStartDlg("mscuistf.dll", DLG_DATENDATPFAD, "FEditDlgProc", HLP_DATENDATPFAD, "FHelpDlgProc")
  293.           Dat = LCASE$(GetSymbolValue("EditTextOut"))
  294.           IF sz = "CONTINUE" THEN
  295.              IF IsDirWritable(RTRIM$(Dat)) = 0 THEN
  296.                 GOSUB FALSCHPFAD
  297.                 GOTO DATENDATPFAD
  298.              END IF
  299.              IF (LEN(RTRIM$(Dat)) > 40) THEN
  300.                    i% = DoMsgBox("Der Datenpfad darf nicht lΣnger als 40 Zeichen sein !", ProgName$, MB_TASKMODAL+MB_ICONEXCLAMATION+MB_OK)
  301.                 GOTO DATENDATPFAD
  302.                         END IF
  303.              UIPop 1
  304.           ELSEIF sz = "REACTIVATE" THEN
  305.              GOTO DATENDATPFAD
  306.           ELSEIF sz = "BACK" THEN
  307.              UIPop 1
  308.              GOTO GETPATH
  309.           ELSE
  310.              GOSUB ABBRUCHFRAGE
  311.              GOTO GETPATH1
  312.           END IF
  313.           sz = ""
  314.        END IF
  315. '***********************************************************************************************
  316. SPEICHERPLATZ:
  317.     GOSUB DATEIPLATZ
  318.     F_Speicher& = GetFreeSpaceForDrive(MID$(RTRIM$(Prog), 1, 1))
  319.  
  320.     drive$ = MID$(RTRIM$(Prog), 1, 1)
  321.  
  322.     ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
  323.     ReplaceListItem DRIVETEXT$, 2, STR$(N_Speicher& / 1024) + " K"
  324.     ReplaceListItem DRIVETEXT$, 3, STR$(F_Speicher& / 1024) + " K"
  325.  
  326.     IF N_Speicher& >= F_Speicher& THEN
  327.     sz = UIStartDlg("mscuistf.dll", MSG_SPEICHERPLATZ,"FCustInstDlgProc", 0, "")
  328.       IF sz = "EXIT" THEN
  329.          GOSUB LIBRARY
  330.       END IF
  331.     END IF
  332.     sz = ""
  333.  
  334. '' Nochmal die ganzen Angaben anzeigen
  335. CDCONFIRMINFO:
  336.    SetSymbolValue "ConfirmTextIn", Ser
  337.    AddListItem "ConfirmTextIn", Org
  338.    AddListItem "ConfirmTextIn", Zun
  339.    AddListItem "ConfirmTextIn", ProgVer$
  340.    AddListItem "ConfirmTextIn", Prog
  341.    AddListItem "ConfirmTextIn", Dat
  342.    sz= UIStartDlg("mscuistf.dll", DLG_INFO, "FConfirmDlgProc", 0, "")
  343.  
  344.    IF sz = "CONTINUE" THEN
  345.       UIPop 1
  346.    ELSEIF sz = "BACK" THEN
  347.       UIPop 1
  348.       GOTO BEGRUESSUNG
  349.  
  350.    ELSE
  351.       GOSUB ABBRUCHFRAGE
  352.       UIPop 1
  353.       GOTO CDCONFIRMINFO
  354.    END IF
  355.  
  356. Install
  357.  
  358. QUIT:
  359.     IF Cursor% <> 0 THEN
  360.        RestoreCursor(Cursor%)
  361.     END IF
  362.  
  363.     ON ERROR GOTO ERRQUIT
  364.  
  365.     IF ERR = 0 THEN
  366.       dlg% = MSG_SETUPERFOLG
  367.     ELSEIF ERR = STFQUIT THEN
  368.       dlg% = MSG_VERLSETUP
  369.     ELSE
  370.       dlg% = MSG_SETUPFEHLER
  371.     END IF
  372.  
  373. QUITL1:
  374.     sz = UIStartDlg("mscuistf.dll", dlg%, "FInfo0DlgProc", 0, "")
  375.     IF sz = "REACTIVATE" THEN
  376.       GOTO QUITL1
  377.     ELSE
  378.       GOSUB LIBRARY
  379.     END IF
  380.  
  381. ERRQUIT:
  382.     UIPop 1
  383.     i% = DoMsgBox("Installationsdateien sind fehlerhaft !!", "Ran an die KOHLE'95", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  384.     GOSUB LIBRARY
  385.  
  386. FALSCHPFAD:
  387.     sz = UIStartDlg("mscuistf.dll", MSG_FALSCHPFAD, "FInfo0DlgProc", 0, "")
  388.     IF sz = "REACTIVATE" THEN
  389.       GOTO FALSCHPFAD
  390.     END IF
  391.     UIPop 1
  392.     RETURN
  393.  
  394. FALSCHNETZPFAD:
  395.     sz = UIStartDlg("mscuistf.dll", MSG_FALSCHNETZPFAD, "FInfo0DlgProc", 0, "")
  396.     IF sz = "REACTIVATE" THEN
  397.       GOTO FALSCHNETZPFAD
  398.     END IF
  399.     UIPop 1
  400.     RETURN
  401.  
  402. DATEIPLATZ:
  403.     N_Speicher& = (500 * 1024)  '' Platz fⁿr temp. Verzeichnis waehrend Installation. Verzeichnis wird anschliessend auto. entfernt.
  404.                 '' Naeheres im Abschnitt "SETUP.LST" in Handbuch SDK 3.1, Setup Toolkit.
  405.     K_Size& = 0
  406.     SectionLine% = 0            '' Anzahl Dateien pro Section in INF-Datei.
  407.     SectNr% = ANZAHL_SECTIONS   '' Anzahl Sections in INF-Datei.
  408.     Section$ = "B"              '' Anfangssection der INF-Datei wird festgelegt.
  409.  
  410. ''Section A: Installationsdateien
  411. ''Section B: Datendateien sichern ist standard
  412. ''Section C: Programmdateien ohne Formulardateien
  413. ''Section D: .ini                         
  414. ''Section E: Formulardateien
  415. ''Section F: Bundeslanddatenbank
  416.  
  417.     FOR s% = 1 TO SectNr% STEP 1
  418.  
  419.        IF Section$ = "B" THEN
  420.         ''Anzahl der Dateien/Zeilen in Section B
  421.         SectionLine% = COPY_FILES_SECTION_B
  422.        ELSE
  423.         IF Section$ = "C" THEN
  424.             ''Anzahl der Dateien/Zeilen in Section C
  425.             SectionLine% = COPY_FILES_SECTION_C
  426.         ELSE
  427.          IF Section$ = "D" THEN
  428.           ''Anzahl der Dateien/Zeilen in Section D
  429.             SectionLine% = COPY_FILES_SECTION_D
  430.         ELSE
  431.          IF Section$ = "E" THEN
  432.             ''Anzahl der Dateien/Zeilen in Section E
  433.             SectionLine% = COPY_FILES_SECTION_E
  434.              ELSE
  435.             ''Anzahl der Dateien/Zeilen in Section F
  436.             SectionLine% = COPY_FILES_SECTION_F
  437.          END IF
  438.         END IF
  439.        END IF
  440.       END IF
  441.       
  442.        FOR i% = 1 TO SectionLine% STEP 1
  443.        K_Size& = GetSectionKeySize(Section$,LTRIM$(STR$(i%)))
  444.        N_Speicher& = N_Speicher& + K_Size&
  445.        NEXT i%
  446.  
  447.     Section$ = CHR$(ASC(Section$)+1)
  448.     NEXT s%
  449.     RETURN
  450.  
  451. ABBRUCHFRAGE:
  452.     sz = UIStartDlg("mscuistf.dll", MSG_ABBRUCHFRAGE, "FQuitDlgProc", 0, "")
  453.  
  454.     IF sz = "EXIT" THEN
  455.        UIPopAll
  456.        GOSUB LIBRARY
  457.     ELSEIF sz = "REACTIVATE" THEN
  458.        GOTO ABBRUCHFRAGE
  459.     ELSE
  460.        UIPop 1
  461.     END IF
  462.     RETURN
  463. LIBRARY:
  464.     i%=LexExit(0)
  465.     STOP
  466.     RETURN
  467. '*===========================================================================
  468. '* Subroutine : Install
  469. '*---------------------------------------------------------------------------
  470. '* Beschreibung :
  471. '*
  472. '*===========================================================================
  473. SUB Install STATIC
  474.  
  475.     SetCopyGaugePosition 170,180
  476.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  477.     IF Wahl$ <> "2" THEN
  478.        AddToBillboardList "mscuistf.dll", ANZ_WERBUNG1, "FModelessDlgProc", 2
  479.        AddToBillboardList "mscuistf.dll", ANZ_WERBUNG2, "FModelessDlgProc", 2
  480.        AddToBillboardList "mscuistf.dll", ANZ_WERBUNG3, "FModelessDlgProc", 2
  481. ''       AddToBillboardList "mscuistf.dll", ANZ_WERBUNG4, "FModelessDlgProc", 2
  482. ''       AddToBillboardList "mscuistf.dll", ANZ_WERBUNG5, "FModelessDlgProc", 2
  483. ''       AddToBillboardList "mscuistf.dll", ANZ_WERBUNG6, "FModelessDlgProc", 8
  484.        
  485. ''Verzeichnisse erzeugen
  486.        CreateDir RTRIM$(Prog), cmoNone
  487.        CreateDir RTRIM$(Dat), cmoNone
  488.        StdFor = LexMakePath(RTRIM$(Prog),"STANDARD")
  489.        CreateDir RTRIM$(StdFor), cmoNone
  490.        
  491.        
  492.        '*===========================================================================
  493.        '' wenn keine Datenbank (stb_Pers.btw) installiert ist, dann alles rein
  494.        '*===========================================================================
  495.        IF NOT EXISTS(LexMakePath(RTRIM$(Dat), "stb_pers.btw")) THEN
  496.           AddSectionFilesToCopyList "B", SrcDir$, RTRIM$(Dat)
  497.        END IF
  498.  
  499.        AddSectionFilesToCopyList "C", SrcDir$, RTRIM$(Prog)
  500.  
  501.        IF NOT EXISTS(LexMakePath(GetWindowsDir,"radk.ini")) THEN
  502.           AddSectionFilesToCopyList "D", SrcDir$, GetWindowsDir
  503.        END IF
  504.        AddSectionFilesToCopyList "E", SrcDir$, RTRIM$(Prog)
  505.        AddSectionFilesToCopyList "E", SrcDir$, RTRIM$(StdFor)
  506.  
  507.          ' in F steht nur stb_bula.btw die muss auf alle Faelle kopiert werden
  508.        AddSectionFilesToCopyList "F", SrcDir$, RTRIM$(Dat)
  509.        
  510.        Cursor% = ShowWaitCursor()
  511.        CopyFilesInCopyList
  512.     ELSE
  513.        IF NOT EXISTS(LexMakePath(GetWindowsDir,"radk.ini")) THEN
  514.           IF EXISTS (LexMakePath(RTRIM$(Prog),"radk.ini")) THEN
  515.              CopyFile LexMakePath(RTRIM$(Prog),  "radk.INI"), LexMakePath(GetWindowsDir, "radk.INI"), cmoNone, 0
  516.           ElSE
  517.              AddSectionFilesToCopyList "D", SrcDir$, GetWindowsDir
  518.              Cursor% = ShowWaitCursor()
  519.              CopyFilesInCopyList
  520.           END IF
  521.        END IF
  522.     END IF
  523. '*===========================================================================
  524. '' INI-Datei schreiben
  525. '*===========================================================================
  526.     ini$ = LexMakePath(GetWindowsDir, "radk.INI")
  527.  
  528.     CreateIniKeyValue ini$, "Lexware", "Version", RTRIM$(Version$) , cmoOverwrite
  529.  
  530.     Ser = LexUserEnCode( RTRIM$(Ser) )
  531.     CreateIniKeyValue ini$, "Inst", "Init1", Ser, cmoOverwrite
  532.     Zun = LexUserEnCode( RTRIM$(Zun) )
  533.     CreateIniKeyValue ini$, "Inst", "Init2", RTRIM$(Zun), cmoOverwrite
  534.     Org = LexUserEnCode( RTRIM$(Org) )
  535.     CreateIniKeyValue ini$, "Inst", "Init3", RTRIM$(Org), cmoOverwrite
  536.  
  537.     CreateIniKeyValue ini$, "Verzeichnisse", "Prog", RTRIM$(Prog) , cmoOverwrite
  538.     CreateIniKeyValue ini$, "Verzeichnisse", "Daten", RTRIM$(Dat), cmoOverwrite
  539.  
  540.     '' Die Werte fⁿr den Vircheck bereitstellen
  541.     SumIni$ =LexMakePath(RTRIM$(Prog), "radk.exe")
  542.     VircheckSize$ = "einfach mal vorbelegen"
  543.     VircheckCheck$ = "einfach mal vorbelegen"
  544.     SumCheckAll SumIni$, VircheckSize$, VircheckCheck$
  545.  
  546.     CreateIniKeyValue ini$, "Optionen", "VGroesse", VircheckSize$, cmoOverwrite
  547.     CreateIniKeyValue ini$, "Optionen", "VPruef", VircheckCheck$, cmoOverwrite
  548.    
  549.     '' Es mⁿssen alle Formulardateien aktualisiert werden
  550.     CreateIniKeyValue ini$, "Drucker", "Abrechnung","radk.FOR" , cmoOverwrite
  551.        
  552.     ''  Als Sicherheitskopie ins Programmverzeichnis legen
  553.     CopyFile LexMakePath(GetWindowsDir, "radk.INI"), LexMakePath(RTRIM$(Prog), "radk.INI"), cmoNone, 0
  554.  
  555. '*===========================================================================
  556. '* jetzt die Installation im Programm-Manager durchfuehren
  557. '*===========================================================================
  558.     IF LexProgman(0) = 0 THEN
  559.        CreateProgmanGroup "Ran an die KOHLE'95", "radk.GRP", cmoNone
  560.  
  561.        DeleteProgmanItem "Ran an die KOHLE'95"
  562.        CreateProgmanItem "Ran an die KOHLE'95", "Ran an die KOHLE'95", LexMakePath(RTRIM$(Prog),"radk.exe"), "", cmoOverwrite
  563.  
  564.        DeleteProgmanItem "Ihr Vorteil"
  565.        CreateProgmanItem "Ran an die KOHLE'95", "Ihr Vorteil", "write "+LexMakePath(RTRIM$(Prog),"regis.wri"), LexMakePath(RTRIM$(Prog),"regis.ico"), cmoOverwrite
  566.  
  567. ''   auf der CD-Version wird die PrΣsentation von Taxman
  568. ''   und das Lexikon mitinstalliert
  569. '$ifdef VER_CD
  570.        DeleteProgmanItem "Das Lexikon"
  571.        CreateProgmanItem "Ran an die KOHLE'95", "Das Lexikon", "winhelp "+LexMakePath(RTRIM$(Prog),"lexikon.hlp"), LexMakePath(RTRIM$(Prog), "lexikon.ico"), cmoOverwrite
  572.  
  573.        DeleteProgmanItem "PrΣsentation: Taxman"
  574.        CreateProgmanItem "Ran an die KOHLE'95", "PrΣsentation: Taxman", LexMakePath(RTRIM$(GetSymbolValue("STF_SRCDIR")),"taxman\taxman.exe"), LexMakePath(RTRIM$(Prog), "present.ico"), cmoOverwrite
  575.  
  576.        '' jetzt mal schauen ob Video fⁿr Windows bereits installiert
  577.        '' wenn ja sch÷n wenn nein scheisse weil icon fⁿr Setup
  578.        szVideo$ = LCASE$(GetIniKeyString(LexMakePath(GetWindowsDir,"system.INI"), "mci", "AVIVideo"))
  579.        IF szVideo$ = "mciavi.drv" THEN
  580.        ELSE
  581.           DeleteProgmanItem "VfW Installation"
  582.           CreateProgmanItem "Ran an die KOHLE'95", "VfW Installation", LexMakePath(RTRIM$(GetSymbolValue("STF_SRCDIR")),"vfw\disk1\setup.exe"), LexMakePath(RTRIM$(Prog), "present.ico"), cmoOverwrite
  583.        END IF
  584.  
  585.  
  586. '$endif
  587.  
  588.        ShowProgmanGroup  "Ran an die KOHLE'95", 1, cmoNone
  589.     ELSE
  590.        RestoreCursor(Cursor%)
  591.        Cursor%=0
  592.        sz = UIStartDlg("mscuistf.dll", MSG_PROGRAMMGRUPPE,"FCustInstDlgProc", 0, "")
  593.        IF sz = "EXIT" THEN
  594.           UIPop 1
  595.        END IF
  596.        sz = ""
  597.     END IF
  598. END SUB
  599.  
  600.  
  601.