; $VER: StudioUpdate 2.13 (07.10.96)
; Copyright (C)1992-96 Wolf Faust

(complete 0)
(delopts "oknodelete" "force" "askuser")

(set #waitmsg
(cat "\n\n\n\nWorking. Please wait..."
))
(set #bad-kick
(cat	"\nYour system software is very old. "
	"You must use at least Kickstart 2.04 for all Studio programs. "
))
(set #bad-version
(cat	"This update will only update Studio V2.13 and older. "
	"Your Studio disks are version %ld.%ld. Running this update doesn't make sense. "
))
(set #bad-version2
(cat	"This update requires Studio V2.11 and newer. "
	"Your installed Studio program has version %ld.%ld. "
))
(set #w-studio
(cat "Select the action(s) to perform."
))
(set #w-studio-help
(cat "This disk comes with new and additional software for some printers.\n"
	"You can update your current used software.\n"
	"Or you can update the software and add the additional printer software.\n\n"
	@askchoice-help
))
(set #w-studio-choices1
(cat "Update Studio software"
))
(set #w-studio-choices2
(cat "And add Canon BJC 150, 210 software"
))
(set #w-studio-choices3
(cat "And add Canon BJC 240 software"
))
(set #w-studio-choices4
(cat "And add Canon BJC 4200 software"
))
(set #w-studio-choices5
(cat "And add Canon BJC 4550 software"
))
(set #w-studio-choices6
(cat "And add Deskjet 500C (and compatible) module"
))
(set #w-studio-choices7
(cat "And add Deskjet 550C (and compatible) module"
))
(set #w-studio-choices8
(cat "And add PageStream 3.1/3.2(final) driver."
))
(set #abortunpack
(cat "\nError occured while running the installation decompression program. "
	"The error occured during decompressing of the file:\n\n\"%s\"\n\n"
))
(set #foundstudio
(cat "\nI found your Studio printing program. Can I update the program in the drawer:\n\n%s\n\n"
))
(set #foundstudiohelp
(cat "When selecting yes, the Studio program will be updated in the location found.\n\n"
	"When selecting no, you will be asked for a Studio filename you want to update\n\n"
))
(set #ask-studiomod
(cat "\nSelect the disk or drawer the 'Studio' application program is placed in. "
))
(set #ask-studiomod-help
(cat "You should now select the drawer the 'Studio' application program is placed in. "
	"Usually the program is placed in the Studio drawer and thus the Studio drawer "
	"should be selected.\n\n"
	@askdir-help
))
(set #nostudiopro
(cat "\nSorry, I can't find the \"Studio\" program. I tried to access %s. "
	"Please check the drawer and program name try installing again. "
))
(set #ask-prefs
(cat "\nIn which disk or drawer are the Studio printer preferences program(s) installed?"
))
(set #ask-prefs-help
(cat "\nThis section lets you choose in which drawer or on which disk the "
	"Studio printer driver preferences programs (CanonBJECPref, ...) are installed. "
	"These are normally placed in the \"sys:prefs\" directory of your system "
	"disk.\n\n"
	@askdir-help
))
(set #delenv
(cat "Can I overwrite your old driver settings? I want to overwrite your settings in "
	"order to setup the driver for your printer.\n\n"
	"Note: you can keep your old driver settings if you like. Use the Preset "
	"menu of the preferences program to change the settings to the default "
	"settings anytime later."
))
(set #delenvhelp
(cat "The installation program wants to setup the default settings for your printer. "
	"In order to do so, your old settings have to be deleted. You can skip overwriting the driver "
	"settings and setup the driver later for your printer using the Preset menu "
	"of the drivers prefences program."
))
(set #sdelenv
(cat "Can I delete the old settings of your Studio printing program? I want to overwrite your settings in "
	"order to setup Studio for your printer.\n\n"
	"Note: you can keep your old Studio printing program settings if you like. Use the \"Reset To Default\" "
	"menu item of the printing program to change the settings anytime later if required. "
))
(set #sdelenvhelp
(cat "The installation program wants to setup the default settings for your printer. "
	"In order to do so, your old settings have to be deleted. You can skip overwriting the Studio "
	"settings and setup the printing program later for your printer using the \"Reset To Default\" menu item "
	"of the Studio printing program."
))
(set #setupmsg
(cat "\nA new Setup-BJL program was installed for you in:\n\n%s\n "
))
(set #mydisk
(cat "Please insert the disk named\n\n\"StudioDisk_%ld\"\n\nin any drive."
))
(set #installed
(cat "\n\nA new driver named \"%s\" has been installed for your printer. "
	"The driver is controlled by the installed \"%s\" preferences "
	"program.\n\n"
))
(set #yesupdate
(cat "Yes, update"
))
(set #nodrawer
(cat "No, select new drawer"
))
(set #nochange
(cat "No, don't change"
))
(set #madpgsupdate3
(cat	"A PageStream 3.1/3.2 (or newer) Studio driver was installed."
))
(set #madcanonupdate
(cat	"Your installed Canon BJC Software was updated."
))
(set #madstudioupdate
(cat	"Your Studio printing program was updated."
))
;--------------
;*** German
(if (= @language "deutsch")
(
	(set #waitmsg
	(cat "\n\n\n\nIch arbeite! Bitte warten..."
	))
	(set #bad-kick
	(cat	"\nIhre System-Software ist sehr alt. "
		"Sie brauchen mindestens Kickstart 2.04 für alle Studio-Programme."
	))
	(set #bad-version
	(cat	"Dieses Update benötigt Studio Version 2.13 oder älter. "
		"Ihre Studio Originaldisketten haben Version %ld.%ld. Es hat daher "
		"keinen Sinn, ein Update durchzuführen. "
	))
	(set #bad-version2
	(cat	"Dieses Update funktioniert nur mit Studio V2.11 und neuer. "
		"Ihr installiertes Programm hat bereits Version %ld.%ld. "
	))
	(set #w-studio
	(cat "Welche Studio-Software wollen Sie installieren?"
	))
	(set #w-studio-help
	(cat "\nDieses Studio Update enthält neben einem generellen Update der vorhandenen "
		"Software auch zusätzliche neue Treiber Software. Bitte wählen Sie, ob "
		"Sie einfach nur vorhandenes Updaten wollen, oder ob Sie zusätzlich noch "
		"weitere Software installieren wollen.\n\n"
		@askoptions-help
	))
	(set #w-studio-choices1
	(cat "Installierte Studio Software erneuern"
	))
	(set #w-studio-choices2
	(cat "und Canon BJC 150, 210 Software installieren"
	))
	(set #w-studio-choices3
	(cat "und Canon BJC 240 Software installieren"
	))
	(set #w-studio-choices4
	(cat "und Canon BJC 4200 Software installieren"
	))
	(set #w-studio-choices5
	(cat "und Canon BJC 4550 Software installieren"
	))
	(set #w-studio-choices6
	(cat "und Deskjet 500C (u. kompatibel) Software inst."
	))
	(set #w-studio-choices7
	(cat "und Deskjet 550C (u. kompatibel) Software inst."
	))
	(set #w-studio-choices8
	(cat "und PageStream 3.1/3.2 (final) Treiber inst."
	))

	(set #abortunpack
	(cat "\nEin Fehler trat beim Entpacken/Schreiben einer Datei auf!\n"
		"Das zu entpackende Archiv lautete:\n\n\"%s\"\n\n"
	))
	(set #foundstudio
	(cat "\nIch habe Ihr installiertes Studio Druckprogramm gefunden. Kann ich das Studio Programm in der folgenden Schublade updaten:\n\n%s\n\n"
	))
	(set #foundstudiohelp
	(cat "Wählen Sie ja, dann wird das Studio Programm in der angegebenen Schublade erneuert.\n\n"
		"Wählen Sie Nein, erscheint ein Dateiauswahlfenster und Sie können eine "
		"andere Schublade mit dem Studio Programm angeben.\n\n"
	))
	(set #ask-studiomod
	(cat "\nBitte wählen Sie die Schublade, in dem sich das 'Studio'-Programm befindet."
	))
	(set #ask-studiomod-help
	(cat @askdir-help
	))
	(set #nostudiopro
	(cat "Ich kann das \"Studio\" Programm nicht unter\n\n'%s'\n\nfinden. "
		"Bitte prüfen Sie die angegebenen Dateinamen und versuchen Sie die Installation erneut."
	))
	(set #ask-prefs
	(cat "\nIn welcher Schublade wurden die Studio Treiber-Voreinsteller installiert?"
	))
	(set #ask-prefs-help
	(cat "\nNormal installiert Studio die Voreinsteller DeskPref, LaserPref, PinPref, CanonBJECPref usw. "
		"in die SYS:Prefs Schublade. Sollten Sie diese Programme woanders installiert haben, "
		"geben Sie bitte die entsprechende Schublade an, damit die Programme upgedated werden können.\n\n"
		@askdir-help
	))
	(set #delenv
	(cat "Kann ich Ihre alten Treibereinstellungen löschen, damit ich den Treiber "
		"für Ihren Drucker neu konfigurieren kann?\n\n"
		"Sie können Ihre Einstellungen mit 'Nein' aber auch behalten und jederzeit "
		"später mit dem Preset Menü von CanonBJECPref den Treiber neu einstellen."
	))
	(set #delenvhelp
	(cat "Das Installationsprogramm muß Ihre alten Treibereinstellungen löschen, "
		"um die neuen Standardeinstellungen für Ihren Drucker zu aktivieren. "
		"Sie können darauf aber auch verzichten, und später das Preset-Menü "
		"von CanonBJECPref zum Einstellen benutzen."
	))
	(set #sdelenv
	(cat "Kann ich Ihre Einstellungen des Studio Druckprogramms löschen, damit ich das Programm "
		"für Ihren Drucker neu konfigurieren kann?\n\n"
		"Sie können Ihre Einstellungen mit 'Nein' aber auch behalten und jederzeit "
		"später mit dem 'Reset To Default' Menüpunkt die Einstellungen vornehmen."
	))
	(set #sdelenvhelp
	(cat "Das Installationsprogramm muß Ihre alten Studio Einstellungen löschen, "
		"um die neuen Standardeinstellungen für Ihren Drucker zu aktivieren. "
		"Sie können darauf aber auch verzichten, und später das Menü "
		"von Studio zum Einstellen benutzen."
	))
	(set #setupmsg
	(cat "\nEin neues Setup-BJL Programm wurde für Sie installiert in der Schublade:\n\n%s\n "
	))
	(set #mydisk
	(cat "Bitte legen Sie die Diskette\n\n\"StudioDisk_%ld\"\n\nin ein beliebiges Laufwerk."
	))
	(set #installed
	(cat "\n\nEin neuer Treiber namens \"%s\" wurde für den Canon BJC Drucker installiert. "
		"Zusätzlich wurde das Voreinsteller-Programm \"%s\"  installiert.\n\n"
	))
	(set #yesupdate
	(cat "Ja, updaten"
	))
	(set #nodrawer
	(cat "Nein, andere Schublade"
	))
	(set #nochange
	(cat "Nein, nicht ändern"
	))
	(set #insdriv
	(cat "Der CanonBJ-EC Workbench Druckertreiber wurde für Ihren Canon Drucker mit dem CanonBJECPref-Programm "
		"installiert."
	))
	(set #madpgsupdate3
	(cat	"Ein PageStream 3.1/3.2 (und neuer) Studio Treiber wurde installiert."
	))
	(set #madcanonupdate
	(cat	"Ihre installierte Canon Software wurde upgedated."
	))
	(set #madstudioupdate
	(cat	"Das Studio Druckprogramm wurde upgedated."
	))
))


(procedure Meter
(
	(set accum	(+ accum addm))
	(complete (/ (* accum 100) total))
))

(complete 0)
;(message #welcome-pirate)

(set total	0)
(set accum	0)
(set addm	0)
(set firstdisk "")
(if (< (/ (getversion) 65536) 37)
	(abort #bad-kick)
)
(complete 1)
(set studio (askchoice (prompt #w-studio)
	(help #w-studio-help)
	(choices #w-studio-choices1 #w-studio-choices2 #w-studio-choices3 #w-studio-choices4 #w-studio-choices5 #w-studio-choices6 #w-studio-choices7 #w-studio-choices8)
	(default 0)
))
(working #waitmsg)
(set total 60)
(if (> studio 0)
(
	(set total 120)
))
(set @default-dest "")
(set verorg 2)
(set revorg 0)
(if (= (exists "StudioDisk_1:VER") 1)
(
	(set vernum (getversion "StudioDisk_1:VER"))
	(set verorg (/ vernum 65536))
	(set revorg (- vernum (* verorg 65536) ) )
	(if (OR (> verorg 2) (> revorg 13))
	(
		(abort (#bad-version verorg revorg))
	))
))
(set addm 3)
(Meter)
(copyfiles (source "StudioDisk_1:lx")
	(dest "RAM:")
	(nogauge)
)
(set addm 3)
(Meter)
(set exerr (run "RAM:lx n"))
(if (> exerr 0)
(
	(abort (#abortunpack "-none-"))
))



(set addm 4)
(Meter)
(set studiopath "");
(if (= (exists "ENV:STUDIOPATH") 1)
(
	(set studiopath (getenv "StudioPath"))
))
(set addm 5)
(Meter)
(set found 1)
(if (> (strlen studiopath) 1)
(
	(if (= (substr studiopath 0 1)  "\"")
	(
		(set studiopath (substr studiopath 1 (- (strlen studiopath) 2)))
	))
	(if (= (exists studiopath) 1)
	(
		(if (= (fileonly studiopath) "Studio")
		(
			(set found 2)
			(if (askbool (prompt (#foundstudio (pathonly studiopath)))
				(choices #yesupdate #nodrawer)
				(help (#foundstudiohelp ))
				(default 1))
			(
				(set found 0)
			))
		))
	))
))
(set addm 5)
(Meter)
(if (> found 0)
(
	(if (= found 1)
	(
		(set studiopath (getassign "WORK" "d"))
		(if (= studiopath "")
		(
			(set studiopath (getassign "DH0" "d"))
			(if (= studiopath "")
			(
				(set studiopath (getassign "DH2" "d"))
				(if (= studiopath "")
				(
					(set studiopath "SYS:")
				))
			))
		))
		(set studiopath (tackon studiopath "Studio")) 
	))
	(set studiopath  (askdir (prompt #ask-studiomod)
		(help #ask-studiomod-help)
		(default (pathonly (studiopath)))
	))
	(set studiopath (tackon studiopath "Studio"))
	(if (<> (exists studiopath) 1)
	(
		(abort (#nostudiopro studiopath))
	))
	(textfile   (dest "Env:StudioPath")
		(append (cat "\"" studiopath "\"")) )
	(textfile   (dest "Envarc:StudioPath")
		(append (cat "\"" studiopath "\"")) )
))
(set addm 5)
(Meter)
(working #waitmsg)
(makeassign "STUDIOPARENT" (pathonly (studiopath)))
(set ver 0)
(set rev 0)
(if (= (exists "STUDIOPARENT:Studio") 1)
(
	(set vernum (getversion "STUDIOPARENT:Studio"))
	(set ver (/ vernum 65536))
	(set rev (- vernum (* ver 65536) ) )
))

(set addm 5)
(Meter)
(if (OR (< ver 2) (< rev 11))
(
	(abort (#bad-version2 ver rev))
))
(set addm 5)
(Meter)
(if (NOT (OR (> ver 2) (> rev 14)))
(
	(set exerr (run (cat "ram:lx x Studio/Studio.pkd \"STUDIOPARENT:\"")))
	(if (> exerr 0)
	(
		(abort (#abortunpack "Studio/Studio.pkd"))
	))
	(message #madstudioupdate)
	(working #waitmsg)
))
(set addm 5)
(Meter)
(set guessdrawer (getassign "PageStream3" "a"))
(if (<> guessdrawer "")
(
	(set ver 0)
	(set rev 0)
	(if (= (exists (cat "Pagestream3:SoftLogik/Printers/Studio.printer")) 1)
	(
		(set vernum (getversion (cat "Pagestream3:SoftLogik/Printers/Studio.printer")))
		(set ver (/ vernum 65536))
		(set rev (- vernum (* ver 65536) ) )
	))
	(if (= (exists (cat "Pagestream3:SoftLogik/Printers")) 2)
	(
		(if (OR  (AND (= ver 3) (< rev 2)) (= studio 7))
		(
			(set exerr (run (cat "ram:lx x PageStream/PGS32b6.pkd \"Pagestream3:SoftLogik/Printers\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack ("PageStream/PGS32b6.pkd")))
			))
			(message #madpgsupdate3)
			(working #waitmsg)
		))
	))
))

(working #waitmsg)
(set addm 10)
(Meter)
(set prefdisk ("SYS:Prefs"))
(if (exists "sys:preferences")
(
	(set prefdisk ("SYS:Preferences"))
))
(if (exists "SYS:Prefs")
(
	(set prefdisk ("SYS:Prefs"))
))
(set prefdisk (askdir (prompt #ask-prefs)
	(help #ask-prefs-help)
	(default prefdisk))
)
(set addm 5)
(Meter)
(working #waitmsg)
(if (= (exists prefdisk) 2)
(
	(makeassign "STUDIOPARENT" prefdisk)
	(if (= (exists "STUDIOPARENT:CanonBJECPref") 1)
	(
		(makeassign "STUDIODRIV" "Devs:printers")
		(if (= (exists "STUDIODRIV:CanonBJ-EC") 1)
		(
			(set exerr (run (cat "RAM:lx x \"Drivers/CanonBJEC.pkd\" \"STUDIODRIV:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Drivers/CanonBJEC.pkd"))
			))
			(set exerr (run (cat "RAM:lx x \"Prefs/CanonBJECPref.pkd\" \"STUDIOPARENT:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Prefs/CanonBJECPref.pkd"))
			))
			(if (exists "STUDIOPARENT:SetupBJL-BJC210")
			(
				(if (exists "STUDIOPARENT:SetupBJL-BJC210.prefs")
				(
					(copyfiles (source "STUDIOPARENT:SetupBJL-BJC210.prefs")
						(dest "STUDIOPARENT:")
						(newname "SetupBJL-BJC2xx.prefs")
						(nogauge)
					)
				))
				(set n 0)
				(while (set thisfile (select n  "SetupBJL-BJC210.prefs"
					"SetupBJL-BJC210"
					"SetupBJL-BJC210.info"
					"" ))
				(
					(set n (+ n 1))
					(if (exists (cat "STUDIOPARENT:" thisfile))
					(
						(delete (cat "STUDIOPARENT:" thisfile))
					))
				))
				(set exerr (run (cat "RAM:lx x prefs/SetupBJL-BJC2xx.pkd \"STUDIOPARENT:\"")))
				(if (> exerr 0)
				(
					(abort (#abortunpack prefname))
				))
			))
			(if (exists "STUDIOPARENT:SetupBJL-BJC4100")
			(
				(if (exists "STUDIOPARENT:SetupBJL-BJC4100.prefs")
				(
					(copyfiles (source "STUDIOPARENT:SetupBJL-BJC4100.prefs")
						(dest "STUDIOPARENT:")
						(newname "SetupBJL-BJC4xxx.prefs")
						(nogauge)
					)
				))
				(set n 0)
				(while (set thisfile (select n  "SetupBJL-BJC4100.prefs"
					"SetupBJL-BJC4100"
					"SetupBJL-BJC4100.info"
					"" ))
				(
					(set n (+ n 1))
					(if (exists (cat "STUDIOPARENT:" thisfile))
					(
						(delete (cat "STUDIOPARENT:" thisfile))
					))
				))
				(set exerr (run (cat "RAM:lx x prefs/SetupBJL-BJC4xxx.pkd \"STUDIOPARENT:\"")))
				(if (> exerr 0)
				(
					(abort (#abortunpack prefname))
				))
			))
			(message #madcanonupdate)
			(working #waitmsg)
		))
		(makeassign "STUDIODRIV")
	))
))
(set drivername "")
(set prefname "")
(set setupname "")
(set envname "")
(set presetname "")
(set studiodefault "")
(set soutput "")
(set sprofile "")
(set setuptool "")
; BJC210
(if (= studio 1)
(
	(set drivername "CanonBJEC")
	(set prefname "prefs/CanonBJECPref")
	(set setupname "prefs/SetupBJL-BJC2xx")
	(set envname "CanonBJECPref")
	(set presetname "DriverPresets/CanonBJC210")
	(set studiodefault "CanonBJC210")
	(set soutput "Output/CanonBJC150_210")
	(set sprofile "Profiles/CanonBJC210")
	(set setuptool "")
))
; BJC240
(if (= studio 2)
(
	(set drivername "CanonBJEC")
	(set prefname "prefs/CanonBJECPref")
	(set setupname "prefs/SetupBJL-BJC2xx")
	(set envname "CanonBJECPref")
	(set presetname "DriverPresets/CanonBJC240")
	(set studiodefault "CanonBJC240")
	(set soutput "Output/CanonBJC240")
	(set sprofile "Profiles/CanonBJC210")
	(set setuptool "USEPOWERON")
))
; BJC4200
(if (= studio 3)
(
	(set drivername "CanonBJEC")
	(set prefname "prefs/CanonBJECPref")
	(set setupname "prefs/SetupBJL-BJC4xxx")
	(set envname "CanonBJECPref")
	(set presetname "DriverPresets/CanonBJC4000")
	(set studiodefault "CanonBJC4200")
	(set soutput "Output/CanonBJC4200")
	(set sprofile "Profiles/CanonBJC4100")
	(set setuptool "USEPOWERON")
))
; BJC4550
(if (= studio 4)
(
	(set drivername "CanonBJEC")
	(set prefname "prefs/CanonBJECPref")
	(set setupname "prefs/SetupBJL-BJC4xxx")
	(set envname "CanonBJECPref")
	(set presetname "DriverPresets/CanonBJC4000")
	(set studiodefault "CanonBJC4550")
	(set soutput "Output/CanonBJC4550")
	(set sprofile "Profiles/CanonBJC4100")
	(set setuptool "USEPOWERON")
))
; Dj500C
(if (= studio 5)
(
	(set drivername "")
	(set prefname "")
	(set setupname "")
	(set envname "")
	(set presetname "")
	(set studiodefault "")
	(set soutput "Output/Deskjet500C")
	(set sprofile "Profiles/Deskjet500C")
	(set setuptool "")
))
; Dj550C
(if (= studio 6)
(
	(set drivername "")
	(set prefname "")
	(set setupname "")
	(set envname "")
	(set presetname "")
	(set studiodefault "")
	(set soutput "Output/Deskjet550C")
	(set sprofile "")
	(set setuptool "")
))
(set addm 5)
(Meter)
(if (> studio 0)
(
	(makeassign "STUDIOPARENT" "Devs:Printers")
	(if (<> drivername "")
	(
		(set exerr (run (cat "RAM:lx x drivers/" drivername ".pkd \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack (tackon "Drivers" drivername)))
		))
	))
	(set addm 10)
	(Meter)
	(makeassign "STUDIOPARENT" prefdisk)
	(if (<> prefname "")
	(
		(set exerr (run (cat "RAM:lx x " prefname ".pkd \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack prefname))
		))
	))
	(set addm 10)
	(Meter)
	(if (<> setupname "")
	(
		(set exerr (run (cat "RAM:lx x " setupname ".pkd \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack prefname))
		))
		(if (<> setuptool "")
		(
			(tooltype (prompt "")
				(help "")
				(dest (cat "STUDIOPARENT:" (fileonly setupname)))
				(settooltype (setuptool) "ON")
				(noposition))
		))
		(message (#setupmsg prefdisk))
		(working #waitmsg)
	))
	(set addm 10)
	(Meter)
	(if (<> drivername "")
	(
		(set delenv 1)
		(if (= (exists (cat "ENV:" envname)) 1)
		(
				(if (NOT (askbool (prompt (#delenv))
					(choices #yesupdate #nochange)
					(help (#delenvhelp))
					(default 1)))
				(
					(set delenv 0)
				))
		))
		(if (> delenv 0)
		(
			(if (exists "ENV:")
			(
				(delete (cat "ENV:" envname))
			))
			(if (exists "ENVARC:")
			(
				(delete (cat "ENVARC:" envname))
			))
			(if (<> presetname "")
			(
				(if (= (exists presetname) 1)
				(
					(copyfiles (source presetname)
						(dest "ENV:")
						(newname envname)
						(nogauge)
					)
				)
				(
					(if (= (exists (cat presetname ".pkd")) 1)
					(
						(set exerr (run (cat "RAM:lx x " presetname ".pkd ENV:")))
						(if (> exerr 0)
						(
							(abort (#abortunpack (cat presetname ".pkd")))
						))
						(if (exists (cat "ENV:" envname))
						(
							(delete (cat "ENV:" envname))
						))
						(rename (cat "ENV:" (fileonly presetname)) (cat "ENV:" envname))
					))
				))
				(if (= (exists (cat "ENV:" envname)) 1)
				(
					(if (exists "ENVARC:")
					(
						(copyfiles (source (cat "ENV:" envname))
							(dest "ENVARC:")
							(newname envname)
							(nogauge)
						)
					))
				))
			))
		))
	))
	(set addm 10)
	(Meter)
	(working #waitmsg)
	(if (<> studiodefault "")
	(
		(makeassign "STUDIOPARENT" (tackon (pathonly (studiopath)) "Studio_Prefs"))
		(set exerr (run (cat "RAM:lx x \"" (tackon "StudioPresets" (cat studiodefault ".pkd\"")) "\"T:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack (tackon "StudioPresets" (cat studiodefault ".pkd"))))
		))
		(copyfiles (source (cat "T:" studiodefault ".prefs"))
			(dest "STUDIOPARENT:")
			(newname "DefaultSettings")
			(nogauge)
		)
		(if (exists "STUDIOPARENT:Studio.prefs")
		(
			(if (askbool (prompt (#sdelenv))
				(choices "Yes, delete" "No, don't delete")
				(help (#sdelenvhelp))
				(default 1))
			(
				(delete "STUDIOPARENT:Studio.prefs")
			))
		))
	))
	(set addm 10)
	(Meter)
	(working #waitmsg)
	(if (<> soutput "")
	(
		(makeassign "STUDIOPARENT" (tackon (pathonly (studiopath)) "Studio_Output"))
		(set exerr (run (cat "RAM:lx x \"" soutput ".pkd\" \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack (cat soutput ".pkd")))
		))
	))
	(set addm 10)
	(Meter)
	(if (<> sprofile "")
	(
		(makeassign "STUDIOPARENT" (tackon (pathonly (studiopath)) "Studio_Profiles"))
		(set exerr (run (cat "RAM:lx x \"" sprofile ".pkd\" \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack (cat sprofile ".pkd")))
		))
	))
	(if (<> drivername "")
	(
		(message (#installed drivername (fileonly prefname)))
	))
))
(run "RAM:lx n")
(delete "RAM:lx")
(makeassign "STUDIOPARENT")
(complete 100)
