; $VER: MusicManIII-Install (14.03.97)

; --- English texts ---------

(SET #WelcomeMsg (CAT "Welcome to the installation of 'MusicManIII'!\n\n"
                      "This installer-script allows you to install MusicManIII, "
                      "Update MusicManIII or to remove MusicManIII from your system.\n\n"
                      "Please read the documentation after you've installed MusicManIII!\n\n\n"
                      "Have lots of fun while working with 'MusicManIII'\n\n"
                      "Andreas Mair"
                 )
)

(SET #AskInstChoiceMsg "Please select...")

(SET #InstallMMChc "Install MusicManIII")

(SET #UpdateMMChc "Install MusicManIII-Update")

(SET #RemoveMMChc "Remove MusicManIII")

(SET #InstChoiceHelp (CAT "There are three choices:\n\n"
                          "Install MusicManIII\n"
                          "-------------------\n"
                          "MusicManIII will be installed in directory of your choice.\n\n"
                          "Install MusicManIII-Update\n"
                          "--------------------------\n"
                          "This is the same as the above, but Icons aren't replaced.\n\n"
                          "Remove MusicManIII\n"
                          "------------------\n"
                          "You have to select the directory you've installed MusicManIII to. "
                          "Then the whole directory will be deleted. All files in this "
                          "directory and your keyfile will get lost. The directory "
                          "ENVARC:MusicManIII where your settings are stored will be "
                          "deleted, too.\nIf you installed the files 'reqtools.library' "
                          "and 'cdplayer.library' in your LIBS:-directory, they won't be "
                          "deleted automatically by this script."
                     )
)

(SET #SelRemPathMsg "Please select the MusicManIII directory:")

(SET #RemoveHelp (CAT "Please select the directory where you have installed MusicManIII. "
                      "The whole directory will bet deleted.\n\n"
                      @askdir-help
                 )
)

(SET #ReallyDeleteHelp (CAT "Please select 'Yes' if you are sure to delete the "
                            "whole MusicManIII directory. All files contained "
                            "will get lost!"
                       )
)

(SET #AskReallyDeleteMsg (CAT "Do you really want to delete the whole directory\n\n"
                              "'%s'?\n\n\n"
                              "All files and your keyfile will get deleted!"
                         )
)

(SET #MMRemovedMsg (CAT "MusicManIII has been removed from your system. If "
                        "you want to re-install it you just have to execute "
                        "this installer-script again."
                   )
)

(SET #RemoveCanceledMsg "Deletion has been canceled.")

(SET #RemoveErrorMsg (CAT "MusicManIII can only be deleted if it's installed "
                          "in a directory named 'MusicManIII'!"
                     )
)

(SET #SelUpdPathMsg "Please select the MusicManIII directory:")

(SET #UpdateHelp (CAT "Please select the directory where you have installed MusicManIII.\n\n"
                      @askdir-help
                 )
)

(SET #AskUpdateKeyMsg "Do you want to overwrite the keyfile?")

(SET #AskUpdateKeyHelp (CAT "If you are a registered users of MusicManIII "
                            "you'd better select 'No' if you've already installed "
                            "the keyfile for the full release. In every other case "
                            "don't mind to select 'Yes'."
                       )
)

(SET #InstallHelp (CAT "Please select the directory where you want to install "
                       "MusicManIII.\nA directory 'MusicManIII' will be created "
                       "automatically.\n\n"
                       @askdir-help
                  )
)

(SET #SelInstPathMsg (CAT "Please select the directory where you'd like to install "
                          "'MusicManIII'.\nA directory 'MusicManIII' will be created "
                          "automatically!"
                     )
)

(SET #DestCPUHelp (CAT "MusicManIII exists in releases compiled for certain processors:\n\n"
                       "MC68000\n"
                       "-------\n"
                       "For an Amiga with MC68000- or MC68010-Processor.\n\n"
                       "MC68020\n"
                       "-------\n"
                       "For an Amiga with MC68020- or MC68030-Processor.\n\n"
                       "MC68040\n"
                       "-------\n"
                       "For an Amiga with MC68040-Processor."
                       "MC68060\n"
                       "-------\n"
                       "For an Amiga with MC68060-Processor."
                  )
)

(SET #AskDestCPUMsg (CAT "MusicManIII has been compiled to support certain processors.\n"
                         "Please select the one installed in your system!"
                    )
)

(SET #DestLanguageHelp (CAT "From Workbench V2.1 on MusicManIII supports localisation. "
                            "That means you can use it in your prefered language if "
                            "a catalog-file exists."
                       )
)

(SET #AskDestLanguageMsg (CAT "MusicManIII can work in different languages.\n"
                              "Please select one out of the currently supported."
                         )
)

(SET #InstallOnlineHelpHelp (CAT "MusicManIII offers an extensive Online-Help. That means "
                                 "you can press the HELP key in the program to get help "
                                 "on the current window or menu item. If you want to use "
                                 "this feature you have to install this file."
                            )
)

(SET #AskInstallOnlineHelpMsg (CAT "MusicManIII offers an extensive Online-Help.\n"
                                   "Do you want to install it?"
                              )
)

(SET #InstallDocuHelp (CAT "If you want to install the documentation in the AmigaGuide-format "
                           "you have to select 'Yes'. Documentation is only provided in "
                           "the AmigaGuide-format."
                      )
)

(SET #AskInstallDocuMsg "Do you want to install the documentation in the AmigaGuide-format?")

(SET #InstallRT2LibsHelp (CAT "Here you can select wether you want to install the 'reqtools.library' "
                              "to the LIBS: directory or to the 'MusicManIII directory. If you install "
                              "it in the MusicManIII directory it will be removed if you de-install "
                              "MusicManIII. If you install it in the LIBS: directory it may be used "
                              "by other applications."
                         )
)

(SET #AskInstallRT2LibsMsg (CAT "Do you want to install the 'reqtools.library' to LIBS:?\n"
                                "(else it will installed in the MusicManIII directory)"
                           )
)

(SET #InstallCDP2LibsHelp (CAT "Here you can select wether you want to install the 'cdplayer.library' "
                               "to the LIBS: directory or to the 'MusicManIII directory. If you install "
                               "it in the MusicManIII directory it will be removed if you de-install "
                               "MusicManIII. If you install it in the LIBS: directory it may be used "
                               "by other applications."
                          )
)

(SET #AskInstallCDP2LibsMsg (CAT "Do you want to install the 'cdplayer.library' to LIBS:?\n"
                                "(else it will installed in the MusicManIII directory)"
                            )
)

(SET #InstallBGUI2LibsHelp (CAT "Here you can select wether you want to install the 'bgui.library' "
                               "to the LIBS: directory or to the 'MusicManIII directory. If you install "
                               "it in the MusicManIII directory it will be removed if you de-install "
                               "MusicManIII. If you install it in the LIBS: directory it may be used "
                               "by other applications."
                          )
)

(SET #AskInstallBGUI2LibsMsg (CAT "Do you want to install the 'bgui.library' to LIBS:?\n"
                                "(else it will installed in the MusicManIII directory)"
                            )
)

(SET #InstallPopUp2LibsHelp (CAT "Here you can select wether you want to install the 'popupmenu.library' "
                                 "to the LIBS: directory or to the 'MusicManIII directory. If you install "
                                 "it in the MusicManIII directory it will be removed if you de-install "
                                 "MusicManIII. If you install it in the LIBS: directory it may be used "
                                 "by other applications."
                          )
)

(SET #AskInstallPopUp2LibsMsg (CAT "Do you want to install the 'popupmenu.library' to LIBS:?\n"
                                   "(else it will installed in the MusicManIII directory)"
                            )
)

(SET #KonvFilesHelp (CAT "If you've already worked with MusicManII you'll surely have "
                         "created lots of records. As MusicManIII uses a file-format "
                         "not compatible to MusicManII you have to convert them. If you "
                         "answer this question with 'Yes' the program to convert them "
                         "is started at the end of this installation."
                    )
)

(SET #AskKonvFilesMsg (CAT "Do you want to convert your old MusicManII-Files to the new "
                           "MusicManIII-format?"
                      )
)

(SET #StartInstallMsg (CAT "\nAll user inputs are done.\n\n"
                           "Installation will start..."
                      )
)


; --- German texts ----------

(IF (= @language "deutsch")
  (
  (SET #WelcomeMsg (CAT "Willkommen zur Installation von 'MusicManIII'!\n\n"
                        "Mit diesem Installation-Skript können Sie MusicManIII "
                        "neu installieren, ein Update installieren und ihn "
                        "von Ihrem System entfernen.\n\n"
                        "Bitte lesen Sie nach der Installation die Anleitung!\n\n\n"
                        "Viel Spaß bei der Arbeit mit 'MusicManIII' wünscht Ihnen\n\n"
                        "Andreas Mair"
                   )
  )

  (SET #AskInstChoiceMsg "Bitte wählen Sie...")

  (SET #InstallMMChc "MusicManIII neu installieren")

  (SET #UpdateMMChc "MusicManIII-Update installieren")

  (SET #RemoveMMChc "MusicManIII-Installation entfernen")

  (SET #InstChoiceHelp (CAT "Sie haben drei Möglichkeiten:\n\n"
                            "MusicManIII neu installieren\n"
                            "----------------------------\n"
                            "MusicManIII wird in einem von Ihnen auswählbaren "
                            "Verzeichnis installiert.\n\n"
                            "MusicManIII-Update installieren\n"
                            "-------------------------------\n"
                            "Dieser Punkt entspricht dem vorherigen mit der "
                            "Ausnahme, daß Piktogramme nicht überschrieben werden.\n\n"
                            "MusicManIII-Installation entfernen\n"
                            "----------------------------------\n"
                            "Sie müssen das Verzeichnis, in dem MusicManIII "
                            "installiert wurde, auswählen. Anschließend wird "
                            "das ganze Verzeichnis gelöscht. Dateien und Keyfiles, "
                            "die in diesem Verzeichnis enthalten waren, gehen "
                            "dadurch verloren. Das Verzeichnis 'ENVARC:MusicManIII', "
                            "in dem sich die Voreinstellungen befinden, wird "
                            "ebenfalls gelöscht.\nSollten Sie die Dateien "
                            "'reqtools.library' und 'cdplayer.library' in das "
                            "LIBS:-Verzeichnis installiert haben, so werden "
                            "diese von diesem Skript nicht automatisch entfernt."
                       )
  )

  (SET #SelRemPathMsg "Bitte wählen Sie das MusicManIII-Verzeichnis:")

  (SET #RemoveHelp (CAT "Wählen Sie bitte das Verzeichnis aus, in dem Sie "
                        "MusicManIII installiert haben. Das ganze Verzeichnis "
                        "wird daraufhin gelöscht.\n\n"
                        @askdir-help
                   )
  )

  (SET #ReallyDeleteHelp (CAT "Wenn Sie hier auf 'Ja' klicken, wird das ganze "
                              "'MusicManIII'-Verzeichnis gelöscht. Alle enthaltenen "
                              "Daten gehen verloren!"
                         )
  )

  (SET #AskReallyDeleteMsg (CAT "Wollen Sie wirklich das gesamte Verzeichnis\n\n"
                                "'%s'\n\nlöschen?\n\n\n"
                                "Es werden auch alle Daten und das Keyfile gelöscht."
                           )
  )

  (SET #MMRemovedMsg (CAT "MusicManIII wurde von Ihrem System entfernt. Wenn "
                          "Sie ihn wieder installieren wollen, führen Sie "
                          "dieses Installations-Programm wieder aus."
                     )
  )

  (SET #RemoveCanceledMsg "Der Löschvorgang wurde abbgebrochen.")

  (SET #RemoveErrorMsg (CAT "MusicManIII kann nur gelöscht werden, wenn er sich "
                            "im Verzeichnis 'MusicManIII' befindet!"
                       )
  )

  (SET #SelUpdPathMsg "Bitte wählen Sie das MusicmanIII-Verzeichnis:")

  (SET #UpdateHelp (CAT "Bitte wählen Sie das Verzeichnis aus, in dem "
                        "MusicManIII installiert ist.\n\n"
                        @askdir-help
                   )
  )

  (SET #AskUpdateKeyMsg "Soll das Keyfile aktualisiert werden?")

  (SET #AskUpdateKeyHelp (CAT "Wenn Sie registrierter Benutzer von MusicManIII "
                              "sind, sollten Sie hier 'Nein' anwählen, wenn Sie "
                              "bereits das Keyfile für die Voll-Version installiert "
                              "haben. In allen anderen Fällen können Sie ruhigen "
                              "Gewissens 'Ja' anklicken."
                         )
  )

  (SET #InstallHelp (CAT "Wählen Sie hier das Verzeichnis aus, in dem "
                         "MusicManIII installiert werden soll. Es wird "
                         "ein Verzeichnis 'MusicManIII' angelegt.\n\n"
                         @askdir-help
                    )
  )

  (SET #SelInstPathMsg (CAT "Bitte wählen Sie das Verzeichnis aus, in dem 'MusicManIII' "
                            "installiert werden soll.\nEin Verzeichnis 'MusicManIII' wird "
                            "automatisch erstellt!"
                       )
  )

  (SET #DestCPUHelp (CAT "Von MusicManIII existieren verschiedene Versionen, die für "
                         "bestimmte Prozessoren übersetzt wurden:\n\n"
                         "MC68000\n"
                         "-------\n"
                         "Für einen Amiga mit MC68000- oder MC68010-Prozessor.\n\n"
                         "MC68020\n"
                         "-------\n"
                         "Für einen Amiga mit MC68020- oder MC68030-Prozessor.\n\n"
                         "MC68040\n"
                         "-------\n"
                         "Für einen Amiga mit MC68040-Prozessor."
                         "MC68060\n"
                         "-------\n"
                         "Für einen Amiga mit MC68060-Prozessor."
                    )
  )

  (SET #AskDestCPUMsg (CAT "MusicManIII steht in speziell für verschiedene Prozessoren "
                           "übersetzten Versionen zur Verfügung.\n"
                           "Wählen Sie den für Ihr System zutreffenden aus!"
                      )
  )

  (SET #DestLanguageHelp (CAT "MusicManIII unterstützt ab Workbench V2.1 Lokalisierung. D.h. "
                              "daß Sie ihn in Ihrer bevorzugten Sprache benutzen können, "
                              "wenn dafür eine Katalog-Datei existiert."
                         )
  )

  (SET #AskDestLanguageMsg (CAT "MusicManIII kann in verschiedenen Sprachen arbeiten.\n"
                                "Wählen Sie aus den derzeit unterstützten Sprechen eine aus."
                           )
  )

  (SET #InstallOnlineHelpHelp (CAT "MusicManIII stellt eine umfangreiche Online-Hilfe zur Verfügung. "
                                   "D.h. Sie können im Programm die HELP-Taste drücken und erhalten "
                                   "daraufhin eine Hilfestellung zum aktuellen Fenster oder Menüpunkt. "
                                   "Wenn Sie diese Funktion nutzen wollen, müssen Sie diese Datei "
                                   "installieren."
                              )
  )

  (SET #AskInstallOnlineHelpMsg (CAT "MusicManIII bietet eine umfangreiche Online-Hilfe.\n"
                                     "Wollen Sie sie installieren?"
                                )
  )

  (SET #InstallDocuHelp (CAT "Wenn Sie die Dokumentation im AmigaGuide-Format installieren wollen, "
                              "müssen Sie 'Ja' anklicken. Die Dokumentation steht nur im "
                              "AmigaGuide-Format zur Verfügung."
                        )
  )

  (SET #AskInstallDocuMsg "Wollen Sie die Anleitung im AmigaGuide-Format installieren?")

  (SET #InstallRT2LibsHelp (CAT "Hier können Sie wählen, ob die 'reqtools.library' im LIBS:-Verzeichnis "
                                "oder im MusicManIII-Verzeichnis installiert werden soll. Wenn Sie "
                                "sie im MusicManIII-Verzeichnis installieren, kann sie beim De-Installieren "
                                "entfernt werden. Installieren Sie sie jedoch im LIBS:-Verzeichnis, kann "
                                "sie von anderen Programmen verwendet werden."
                           )
  )

  (SET #AskInstallRT2LibsMsg (CAT "Wollen Sie die 'reqtools.library' nach LIBS: kopieren?\n"
                                  "(Ansonsten wird Sie ins MusicManIII-Verzeichnis kopiert.)"
                             )
  )

  (SET #InstallCDP2LibsHelp (CAT "Hier können Sie wählen, ob die 'cdplayer.library' im LIBS:-Verzeichnis "
                                 "oder im MusicManIII-Verzeichnis installiert werden soll. Wenn Sie "
                                 "sie im MusicManIII-Verzeichnis installieren, kann sie beim De-Installieren "
                                 "entfernt werden. Installieren Sie sie jedoch im LIBS:-Verzeichnis, kann "
                                 "sie von anderen Programmen verwendet werden."
                            )
  )

  (SET #AskInstallCDP2LibsMsg (CAT "Wollen Sie die 'cdplayer.library' nach LIBS: kopieren?\n"
                                   "(Ansonsten wird Sie ins MusicManIII-Verzeichnis kopiert.)"
                              )
  )

  (SET #InstallBGUI2LibsHelp (CAT "Hier können Sie wählen, ob die 'bgui.library' im LIBS:-Verzeichnis "
                                 "oder im MusicManIII-Verzeichnis installiert werden soll. Wenn Sie "
                                 "sie im MusicManIII-Verzeichnis installieren, kann sie beim De-Installieren "
                                 "entfernt werden. Installieren Sie sie jedoch im LIBS:-Verzeichnis, kann "
                                 "sie von anderen Programmen verwendet werden."
                            )
  )

  (SET #AskInstallBGUI2LibsMsg (CAT "Wollen Sie die 'bgui.library' nach LIBS: kopieren?\n"
                                   "(Ansonsten wird Sie ins MusicManIII-Verzeichnis kopiert.)"
                              )
  )

  (SET #InstallPopUp2LibsHelp (CAT "Hier können Sie wählen, ob die 'popupmenu.library' im LIBS:-Verzeichnis "
                                   "oder im MusicManIII-Verzeichnis installiert werden soll. Wenn Sie "
                                   "sie im MusicManIII-Verzeichnis installieren, kann sie beim De-Installieren "
                                   "entfernt werden. Installieren Sie sie jedoch im LIBS:-Verzeichnis, kann "
                                   "sie von anderen Programmen verwendet werden."
                            )
  )

  (SET #AskInstallPopUp2LibsMsg (CAT "Wollen Sie die 'popupmenu.library' nach LIBS: kopieren?\n"
                                     "(Ansonsten wird Sie ins MusicManIII-Verzeichnis kopiert.)"
                              )
  )

  (SET #KonvFilesHelp (CAT "Wenn Sie bereits MusicManII verwendet haben, werden Sie sicherlich "
                           "schon eine Menge Datensätze angelegt haben. Da MusicManIII ein "
                           "zu MusicManII inkompatibles Dateiformat verwendet, müssen Sie die "
                           "Dateien konvertieren. Wenn Sie diese Abfrage mit 'Ja' beantworten, "
                           "wird am Installationsende das Konvertierungsprogramm gestartet."
                      )
  )

  (SET #AskKonvFilesMsg (CAT "Wollen Sie Ihre alten MusicManII-Dateien ins neue MusicManIII-"
                             "Format konvertieren?"
                        )
  )

  (SET #StartInstallMsg (CAT "\nEs wurden jetzt alle Benutzerabfragen erledigt.\n\n"
                             "Die Installation beginnt..."
                        )
  )
  )
)


; --- Constants -------------

(SET #Inst_new    0)
(SET #Inst_update 1)
(SET #Inst_remove 2)

(SET #MC68000 0)
(SET #MC68020 1)
(SET #MC68040 2)
(SET #MC68060 3)

(SET #ENGLISH 0)
(SET #GERMAN  1)
(SET #DANISH  2)
(SET #FRENCH  3)


; --- Some default ----------

(SET #ReallyDelete      0)
(SET #InstallOnlineHelp 1)
(SET #InstallDocu       1)
(SET #InstallRT2Libs    0)
(SET #InstallCDP2Libs   0)
(SET #InstallBGUI2Libs  0)
(SET #InstallPopUp2Libs 0)
(SET #KonvFiles         1)

(SET #InstChoice        1)

; ---------------------------

(PROCEDURE p_remove

  (SET #InstPath (ASKDIR (PROMPT #SelRemPathMsg)
                         (DEFAULT @default-dest)
                         (HELP #RemoveHelp)
                 )
  )

  (SET @default-dest #InstPath)
  (SET #AllOK 1)

  (IF (NOT (= (SUBSTR #InstPath (- (STRLEN #InstPath) (STRLEN "MusicManIII"))) "MusicManIII"))
    (
    (SET #InstPath (TACKON #InstPath "MusicManIII"))

    (IF (NOT (EXISTS #InstPath))
      (SET #AllOK 0)
    )
    )
  )

  (IF #AllOK
    (
    (SET #ReallyDelete (ASKBOOL (PROMPT (#AskReallyDeleteMsg #InstPath))
                                (DEFAULT #ReallyDelete)
                                (HELP #ReallyDeleteHelp)
                       )
    )

    (IF #ReallyDelete
      (
      (RUN ("delete >NIL: %s all quiet force" #InstPath))
      (DELETE ("%s.info" #InstPath))
      (RUN "delete ENVARC:MusicManIII all quiet force")
      (RUN "delete ENV:MusicManIII all quiet force")

      (MESSAGE #MMRemovedMsg)
      )
      ; else
      (MESSAGE #RemoveCanceledMsg)
    )
    )
    ; else
    (MESSAGE #RemoveErrorMsg)
  )

  (EXIT (QUIET))
)


; ---------------------------

(PROCEDURE p_install

  (SET #InstPath (ASKDIR (PROMPT #SelInstPathMsg)
                         (DEFAULT @default-dest)
                         (HELP #InstallHelp)
                 )
  )

  (SET #InstPath (TACKON #InstPath "MusicManIII"))
  (SET @default-dest #InstPath)

  (SET #CPU (DATABASE "cpu"))

  (SET #DestCPU #MC68000)

  (IF (OR (= #CPU "68020") (= #CPU "68030"))
    (SET #DestCPU #MC68020)
    ; else
    (IF (= #CPU "68040")
      (SET #DestCPU #MC68040)
      ; else
      (IF (= #CPU "68060")
        (SET #DestCPU #MC68060)
      )
    )
  )

  (IF (= @user-level 2)
    (SET #DestCPU (ASKCHOICE (PROMPT #AskDestCPUMsg)
                             (CHOICES "MC68000" "MC68020" "MC68040" "MC68060")
                             (DEFAULT #DestCPU)
                             (HELP #DestCPUHelp)
                  )
    )
  )

  (SET #DestLanguage #ENGLISH)

  (IF (= @language "deutsch")
    (SET #DestLanguage #GERMAN)
    ; else
    (IF (= @language "dansk")
      (SET #DestLanguage #DANISH)
      ; else
      (IF (= @language "français")
        (SET #DestLanguage #FRENCH)
      )
    )
  )

  (IF (= @user-level 2)
    (SET #DestLanguage (ASKCHOICE (PROMPT #AskDestLanguage)
                                  (CHOICES "English" "Deutsch" "Dansk" "Français")
                                  (DEFAULT #DestLanguage)
                                  (HELP #DestLanguageHelp)
                       )
    )
  )

  (SET #InstallOnlineHelp (ASKBOOL (PROMPT #AskInstallOnlineHelpMsg)
                                   (DEFAULT #InstallOnlineHelp)
                                   (HELP #InstallOnlineHelpHelp)
                          )
  )

  (SET #InstallDocu (ASKBOOL (PROMPT #AskInstallDocuMsg)
                             (DEFAULT #InstallDocu)
                             (HELP #InstallDocuHelp)
                    )
  )

  (IF (= @user-level 2)
    (
    (SET #InstallRT2Libs (ASKBOOL (PROMPT #AskInstallRT2LibsMsg)
                                  (DEFAULT #InstallRT2Libs)
                                  (HELP #InstallRT2LibsHelp)
                         )
    )

    (SET #InstallCDP2Libs (ASKBOOL (PROMPT #AskInstallCDP2LibsMsg)
                                  (DEFAULT #InstallCDP2Libs)
                                  (HELP #InstallCDP2LibsHelp)
                         )
    )
    (SET #InstallBGUI2Libs (ASKBOOL (PROMPT #AskInstallBGUI2LibsMsg)
                                    (DEFAULT #InstallBGUI2Libs)
                                    (HELP #InstallBGUI2LibsHelp)
                         )
    )

    (SET #InstallPopUp2Libs (ASKBOOL (PROMPT #AskInstallPopUp2LibsMsg)
                                     (DEFAULT #InstallPopUp2Libs)
                                     (HELP #InstallPopUp2LibsHelp)
                         )
    )
    )
  )

  (SET #KonvFiles (ASKBOOL (PROMPT #AskKonvFilesMsg)
                           (DEFAULT #KonvFiles)
                           (HELP #KonvFilesHelp)
                  )
  )

  (MESSAGE #StartInstallMsg)

  (MAKEDIR #InstPath (INFOS))

  (COMPLETE 0)

  (IF (= #DestCPU #MC68000)
    (COPYFILES (SOURCE "MusicManIII.000")
               (DEST #InstPath)
               (NEWNAME "MusicManIII")
               (INFOS) (NOPOSITION)
    )
    ; else
    (IF (= #DestCPU #MC68020)
      (COPYFILES (SOURCE "MusicManIII.020")
                 (DEST #InstPath)
                 (NEWNAME "MusicManIII")
                 (INFOS) (NOPOSITION)
      )
      ; else
      (IF (= #DestCPU #MC68040)
        (COPYFILES (SOURCE "MusicManIII.040")
                   (DEST #InstPath)
                   (NEWNAME "MusicManIII")
                   (INFOS) (NOPOSITION)
        )
        ; else
        (COPYFILES (SOURCE "MusicManIII.060")
                   (DEST #InstPath)
                   (NEWNAME "MusicManIII")
                   (INFOS) (NOPOSITION)
        )
      )
    )
  )

  (COMPLETE 12)

  (IF (= #DestLanguage #GERMAN)
    (
    (MAKEDIR (TACKON #InstPath "catalogs"))
    (MAKEDIR (TACKON #InstPath "catalogs/deutsch"))

    (COPYFILES (SOURCE "catalogs/deutsch/MusicManIII.catalog")
               (DEST (TACKON #InstPath "catalogs/deutsch"))
    )

    (COMPLETE 25)

    (IF #InstallOnlineHelp
      (
      (MAKEDIR (TACKON #InstPath "Help"))
      (MAKEDIR (TACKON #InstPath "Help/Deutsch"))

      (COPYFILES (SOURCE "Help/deutsch/MusicManIII_Help.guide")
                 (DEST (TACKON #InstPath "Help/deutsch"))
      )
      )
    )

    (COMPLETE 37)

    (IF #InstallDocu
      (
      (MAKEDIR (TACKON #InstPath "Doc") (INFOS))

      (COPYFILES (SOURCE "Doc/deutsch/MusicManIII.guide")
                 (DEST (TACKON #InstPath "Doc"))
                 (INFOS) (NOPOSITION)
      )
      )
    )
    )
    ; else
    (
    (IF (= #DestLanguage #FRENCH)
      (
      (MAKEDIR (TACKON #InstPath "catalogs"))
      (MAKEDIR (TACKON #InstPath "catalogs/français"))

      (COPYFILES (SOURCE "catalogs/français/MusicManIII.catalog")
                 (DEST (TACKON #InstPath "catalogs/français"))
      )
      )
    )

    (COMPLETE 25)

    (IF #InstallOnlineHelp
      (
      (MAKEDIR (TACKON #InstPath "Help"))
      (MAKEDIR (TACKON #InstPath "Help/english"))

      (COPYFILES (SOURCE "Help/english/MusicManIII_Help.guide")
                 (DEST (TACKON #InstPath "Help/english"))
      )
      )
    )

    (COMPLETE 37)

    (IF #InstallDocu
      (
      (MAKEDIR (TACKON #InstPath "Doc") (INFOS))

      (COPYFILES (SOURCE "Doc/english/MusicManIII.guide")
                 (DEST (TACKON #InstPath "Doc"))
                 (INFOS) (NOPOSITION)
      )
      )
    )
    )
  )

  (COMPLETE 50)

  (IF #InstallRT2Libs
    (COPYLIB (SOURCE "Libs/reqtools.library")
             (DEST "LIBS:")
    )
    ; else
    (COPYLIB (SOURCE "Libs/reqtools.library")
             (DEST #InstPath)
    )
  )

  (COMPLETE 58)

  (IF #InstallCDP2Libs
    (COPYLIB (SOURCE "Libs/cdplayer.library")
             (DEST "LIBS:")
    )
    ; else
    (COPYLIB (SOURCE "Libs/cdplayer.library")
             (DEST #InstPath)
    )
  )

  (COMPLETE 64)

  (IF #InstallBGUI2Libs
    (COPYLIB (SOURCE "Libs/bgui.library")
             (DEST "LIBS:")
    )
    ; else
    (COPYLIB (SOURCE "Libs/bgui.library")
             (DEST #InstPath)
    )
  )

  (COMPLETE 70)

  (IF #InstallPopUp2Libs
    (COPYLIB (SOURCE "Libs/popupmenu.library")
             (DEST "LIBS:")
    )
    ; else
    (COPYLIB (SOURCE "Libs/popupmenu.library")
             (DEST #InstPath)
    )
  )

  (COMPLETE 75)

  (IF #KonvFiles
    (RUN "ConvII2III")
  )

  (COMPLETE 87)

  (COPYFILES (SOURCE "MusicManIII.key")
             (DEST #InstPath)
  )

  (COPYFILES (SOURCE "Registration.asc")
             (DEST #InstPath)
             (INFOS) (NOPOSITION)
  )

  (MAKEDIR "ENVARC:MusicManIII")
  (COPYFILES (SOURCE "Prefs/MusicManIII")
             (DEST "ENVARC:MusicManIII")
             (ALL) (INFOS) (NOPOSITION)
  )
  (RUN ("echo >ENVARC:MusicManIII/Install_Dir %s" #InstPath))


  (MAKEDIR "ENV:MusicManIII")
  (COPYFILES (SOURCE "Prefs/MusicManIII")
             (DEST "ENV:MusicManIII")
             (ALL) (INFOS) (NOPOSITION)
  )

  (COMPLETE 100)

  (EXIT)
)


; ---------------------------

(PROCEDURE p_update

  (SET #InstPath (ASKDIR (PROMPT #SelUpdPathMsg)
                         (DEFAULT @default-dest)
                         (HELP #UpdateHelp)
                 )
  )

  (SET @default-dest #InstPath)
  (SET #AllOK 1)

  (IF (NOT (= (SUBSTR #InstPath (- (STRLEN #InstPath) (STRLEN "MusicManIII"))) "MusicManIII"))
    (
    (SET #InstPath (TACKON #InstPath "MusicManIII"))

    (IF (NOT (EXISTS #InstPath))
      (SET #AllOK 0)
    )
    )
  )

  (IF #AllOK
    (
    (SET #CPU (DATABASE "cpu"))

    (SET #DestCPU #MC68000)

    (IF (OR (= #CPU "68020") (= #CPU "68030"))
      (SET #DestCPU #MC68020)
      ; else
      (IF (= #CPU "68040")
        (SET #DestCPU #MC68040)
        ; else
        (IF (= #CPU "68060")
          (SET #DestCPU #MC68060)
        )
      )
    )

    (IF (= @user-level 2)
      (SET #DestCPU (ASKCHOICE (PROMPT #AskDestCPUMsg)
                               (CHOICES "MC68000" "MC68020" "MC68040" "MC68060")
                               (DEFAULT #DestCPU)
                               (HELP #DestCPUHelp)
                    )
      )
    )

    (SET #DestLanguage #ENGLISH)

    (IF (= @language "deutsch")
      (SET #DestLanguage #GERMAN)
      ; else
      (IF (= @language "dansk")
        (SET #DestLanguage #DANISH)
        ; else
        (IF (= @language "français")
          (SET #DestLanguage #FRENCH)
        )
      )
    )

    (IF (= @user-level 2)
      (SET #DestLanguage (ASKCHOICE (PROMPT #AskDestLanguageMsg)
                                    (CHOICES "English" "Deutsch" "Dansk" "Français")
                                    (DEFAULT #DestLanguage)
                                    (HELP #DestLanuageHelp)
                         )
      )
    )

    (SET #InstallOnlineHelp (ASKBOOL (PROMPT #AskInstallOnlineHelpMsg)
                                     (DEFAULT #InstallOnlineHelp)
                                     (HELP #InstallOnlineHelpHelp)
                            )
    )

    (SET #InstallDocu (ASKBOOL (PROMPT #AskInstallDocuMsg)
                               (DEFAULT #InstallDocu)
                               (HELP #InstallDocuHelp)
                      )
    )

    (IF (= @user-level 2)
      (
      (SET #InstallRT2Libs (ASKBOOL (PROMPT #AskInstallRT2LibsMsg)
                                    (DEFAULT #InstallRT2Libs)
                                    (HELP #InstallRT2LibsHelp)
                           )
      )

      (SET #InstallCDP2Libs (ASKBOOL (PROMPT #AskInstallCDP2LibsMsg)
                                     (DEFAULT #InstallCDP2Libs)
                                     (HELP #InstallCDP2LibsHelp)
                           )
      )

      (SET #InstallBGUI2Libs (ASKBOOL (PROMPT #AskInstallBGUI2LibsMsg)
                                      (DEFAULT #InstallBGUI2Libs)
                                      (HELP #InstallBGUI2LibsHelp)
                           )
      )

      (SET #InstallPopUp2Libs (ASKBOOL (PROMPT #AskInstallPopUp2LibsMsg)
                                       (DEFAULT #InstallPopUp2Libs)
                                       (HELP #InstallPopUp2LibsHelp)
                           )
      )
      )
    )

    (SET #UpdateKey (ASKBOOL (PROMPT #AskUpdateKeyMsg)
                             (DEFAULT #UpdateKey)
                             (HELP #UpdateKeyHelp)
                    )
    )

    (SET #KonvFiles (ASKBOOL (PROMPT #AskKonvFilesMsg)
                             (DEFAULT #KonvFiles)
                             (HELP #KonvFilesHelp)
                    )
    )

    (MESSAGE #StartInstallMsg)

    (MAKEDIR #InstPath)

    (COMPLETE 0)

    (IF (= #DestCPU #MC68000)
      (COPYFILES (SOURCE "MusicManIII.000")
                 (DEST #InstPath)
                 (NEWNAME "MusicManIII")
      )
      ; else
      (IF (= #DestCPU #MC68020)
        (COPYFILES (SOURCE "MusicManIII.020")
                   (DEST #InstPath)
                   (NEWNAME "MusicManIII")
        )
        ; else
        (IF (= #DestCPU #MC68040)
          (COPYFILES (SOURCE "MusicManIII.040")
                     (DEST #InstPath)
                     (NEWNAME "MusicManIII")
          )
          ; else
          (COPYFILES (SOURCE "MusicManIII.060")
                     (DEST #InstPath)
                     (NEWNAME "MusicManIII")
          )
        )
      )
    )

    (COMPLETE 20)

    (IF (= #DestLanguage #GERMAN)
      (
      (MAKEDIR (TACKON #InstPath "catalogs"))
      (MAKEDIR (TACKON #InstPath "catalogs/deutsch"))

      (COPYFILES (SOURCE "catalogs/deutsch/MusicManIII.catalog")
                 (DEST (TACKON #InstPath "catalogs/deutsch"))
      )

      (COMPLETE 35)

      (IF #InstallOnlineHelp
        (
        (MAKEDIR (TACKON #InstPath "Help"))
        (MAKEDIR (TACKON #InstPath "Help/Deutsch"))

        (COPYFILES (SOURCE "Help/deutsch/MusicManIII_Help.guide")
                   (DEST (TACKON #InstPath "Help/deutsch"))
        )
        )
      )

      (COMPLETE 50)

      (IF #InstallDocu
        (
        (MAKEDIR (TACKON #InstPath "Doc"))

        (COPYFILES (SOURCE "Doc/deutsch/MusicManIII.guide")
                   (DEST (TACKON #InstPath "Doc"))
        )
        )
      )
      )
      ; else
      (
      (IF (= #DestLanguage #FRENCH)
        (
        (MAKEDIR (TACKON #InstPath "catalogs"))
        (MAKEDIR (TACKON #InstPath "catalogs/français"))

        (COPYFILES (SOURCE "catalogs/français/MusicManIII.catalog")
                   (DEST (TACKON #InstPath "catalogs/français"))
        )
        )
      )

      (IF #InstallOnlineHelp
        (
        (MAKEDIR (TACKON #InstPath "Help"))
        (MAKEDIR (TACKON #InstPath "Help/english"))

        (COPYFILES (SOURCE "Help/english/MusicManIII_Help.guide")
                   (DEST (TACKON #InstPath "Help/english"))
        )
        )
      )

      (COMPLETE 50)

      (IF #InstallDocu
        (
        (MAKEDIR (TACKON #InstPath "Doc"))

        (COPYFILES (SOURCE "Doc/english/MusicManIII.guide")
                   (DEST (TACKON #InstPath "Doc"))
        )
        )
      )
      )
    )

    (COMPLETE 65)

    (IF #InstallRT2Libs
      (COPYLIB (SOURCE "Libs/reqtools.library")
               (DEST "LIBS:")
      )
      ; else
      (COPYLIB (SOURCE "Libs/reqtools.library")
               (DEST #InstPath)
      )
    )

    (COMPLETE 72)

    (IF #InstallCDP2Libs
      (COPYLIB (SOURCE "Libs/cdplayer.library")
               (DEST "LIBS:")
      )
      ; else
      (COPYLIB (SOURCE "Libs/cdplayer.library")
               (DEST #InstPath)
      )
    )

    (COMPLETE 76)

    (IF #InstallBGUI2Libs
      (COPYLIB (SOURCE "Libs/bgui.library")
               (DEST "LIBS:")
      )
      ; else
      (COPYLIB (SOURCE "Libs/bgui.library")
               (DEST #InstPath)
      )
    )

    (COMPLETE 80)

    (IF #InstallPopUp2Libs
      (COPYLIB (SOURCE "Libs/popupmenu.library")
               (DEST "LIBS:")
      )
      ; else
      (COPYLIB (SOURCE "Libs/popupmenu.library")
               (DEST #InstPath)
      )
    )

    (COMPLETE 85)

    (IF #UpdateKey
      (COPYFILES (SOURCE "MusicManIII.key")
                 (DEST #InstPath)
      )
    )

    (COPYFILES (SOURCE "Registration.asc")
               (DEST #InstPath)
    )

    (RUN ("echo >ENVARC:MusicManIII/Install_Dir %s" #InstPath))


    (COMPLETE 90)

    (IF #KonvFiles
      (RUN "ConvII2III")
    )

    (COMPLETE 100)
    )
  )

  (EXIT)
)


; --- Main ------------------

(WELCOME)

(MESSAGE #WelcomeMsg)

(IF (EXISTS "ENVARC:MusicManIII")
  (
  (IF (EXISTS "ENVARC:MusicManIII/Install_Dir")
    (
    (SET @default-dest (GETENV "ENVARC:MusicManIII/Install_Dir"))
    (SET @default-dest (SUBSTR @default-dest 0 (- (STRLEN(@default-dest)) 1)))
    )
  )

  (SET #InstChoice (ASKCHOICE (PROMPT #AskInstChoiceMsg)
                              (CHOICES #InstallMMChc
                                       #UpdateMMChc
                                       #RemoveMMChc)
                              (DEFAULT #InstChoice)
                              (HELP #InstChoiceHelp)
                   )
  )

  (IF (= #InstChoice #Inst_install) (p_install))
  (IF (= #InstChoice #Inst_update) (p_update))
  (IF (= #InstChoice #Inst_remove) (p_remove))
  )
  ; else
  (p_install)
)
