Help - Search - Members - Calendar
Full Version: Cdshell.ini Problems
The CD Forum > CD Shell and Boot Scriptor > Troubleshooting & Problems
Katheryn
Hi there !

i am hoping one of you gurus can help me with scripting a VERY SIMPLE cdshell.ini for my multiboot CD which contains XP PRO SP2 and XP HOME SP2 [ thats all there is on the CD, no more ]

i followed the guide @ http://flyakite.msfnhosting.com/
and made the CD, and my CD works fine if i use the cdshell.ini you can download from there, but when i try to alter it to suit my CD all goes retarded and nothing happens.

all i am wanting in a menu is something real simple like

Press ENTER to boot from CD

Press 1 to install Windows XP Pro SP2
Press 2 to install Windows XP Home SP2
Press R to reboot


at the moment i use the below, but it has way too much stuff on it that my CD does not contain. thankx for any assistance smile.gif


boot:
cls
print "\n"
print "Press Enter to boot from DVD... \n"
getkey 5 boot 0x80
if $lastKey == key[enter]; then goto time
# When no key found...
goto boot

# Function to display time of day
time:
set hour = $timeHour
set ampm = "am"
if $timeHour > 12; then set hour = $timeHour - 12
if $timeHour > 12; then set ampm = "pm"
set time = "$hour:$timeMinute$ampm"

# Function to display date
date:
set month = "n/a"
if $dateMonth == 1; then set month = "Jan."
if $dateMonth == 2; then set month = "Feb."
if $dateMonth == 3; then set month = "Mar."
if $dateMonth == 4; then set month = "Apr."
if $dateMonth == 5; then set month = "May."
if $dateMonth == 6; then set month = "Jun."
if $dateMonth == 7; then set month = "Jul."
if $dateMonth == 8; then set month = "Aug."
if $dateMonth == 9; then set month = "Sep."
if $dateMonth == 10; then set month = "Oct."
if $dateMonth == 11; then set month = "Nov."
if $dateMonth == 12; then set month = "Dec."
set date = "$month$dateDay,$dateYear"

# Printing the Interface
menu:
set textColor= color[grey on black]
set boldColor= color[cyan on black]
cls
print c "\n\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴<\c0B$time $date\cXX>컴 \n\n"
print c "\cXXAdvanced Multi-Boot DVD v1.7\n\n"
print l "\cXXPress \c0BF1 \cXXfor Help"; print r "\c0Bckite@portraitofakite.com \n"
print c "\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
컴컴컴 \n\n"
print "1) Windows XP Professional SP1 Corporate \n"
print "2) Windows XP Home SP1 Retail \n"
print "3) Windows Server 2003 Corporate \n"
print "4) Windows 2000 \n"
print "5) Windows 98 SE \n"
print "6) Windows ME \n"
print "7) Windows NT 4.0 Server \n"
print "8) ERD Commander 2003 \n"
print "9) ERD Commander 2003 /inram \n"
print "\n"
print "X) More Options... \n\n"
print "Q) Quit to Command Prompt \n"
print "R) Reboot \n"
print "ESC) Boot 1st Harddisk \n"
print c "\n"

MainKey:
getkey 20 boot 0x80
if $lastKey == key[1]; then goto XP_Pro
if $lastKey == key[2]; then goto XP_Home
if $lastKey == key[3]; then goto Server2003
if $lastKey == key[4]; then goto 2000
if $lastKey == key[5]; then memdisk /98SE.IMA
if $lastKey == key[6]; then memdisk /ME.IMA
if $lastKey == key[7]; then chain /NT4S.DAT
if $lastKey == key[8]; then chain /ERD1.DAT
if $lastKey == key[9]; then chain /ERD2.DAT
if $lastKey == key[q]; then end
if $lastKey == key[r]; then reboot
if $lastKey == key[x]; then goto MoreOptions
if $lastKey == key[F1]; then goto Help
if $lastKey == key[esc]; then boot 0x80

MoreOptions:
cls
print r "\n\cXXPress \c0BF1 \cXXfor Help \n"
print c "\n\cXXMore Options \n"
print c "\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 \n"
print "1) Read/Copy Files From NTFS Volumes To FAT32/16 Drives \n"
print "2) Partition Magic 8.0 \n"
print "3) Norton Ghost \n"
print "4) View Serial Numbers \n"
print c "\n\n"
print "Press any key to return to main menu... \n"

MoreOptions_Key:
getkey 20 goto menu
if $lastKey == key[1]; then memdisk /NTFS.IMA
if $lastKey == key[2]; then memdisk /PM8.IMG
if $lastKey == key[3]; then memdisk /GHOST.IMA
if $lastKey == key[4]; then goto SerialNumbers
goto menu

SerialNumbers:
cls
print r "\n\cXXPress \c0BF1 \cXXfor Help \n"
print c "\n\cXXSerial Numbers\n"
print c "\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴"
type /Serial~1.txt
print c "\n\n"
print "Press any key to return to main menu... \n"
getkey
goto menu

XP_Pro:
cls
print r "\n\cXXPress \c0BF1 \cXXfor Help \n"
print c "\n\cXXMicrosoft Windows XP Professional SP1 Corporate \n"
print c "\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 \n"
print "1) Regular \n"
print "2) Unattended \n"
print "3) OEMPreinstall \n"
print c "\n\n"
print "Press any key to return to main menu... \n"

XP_Pro_Key:
getkey 20 goto menu
if $lastKey == key[1]; then chain /PRO1.DAT
if $lastKey == key[2]; then chain /PRO2.DAT
if $lastKey == key[3]; then chain /PRO3.DAT
if $lastKey == key[F1]; then goto Help
goto menu

XP_Home:
cls
print r "\n\cXXPress \c0BF1 \cXXfor Help \n"
print c "\n\cXXMicrosoft Windows XP Home SP1 Retail \n"
print c "\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 \n"
print "1) Regular \n"
print "2) Unattended \n"
print c "\n\n"
print "Press any key to return to main menu... \n"

XP_Home_Key:
getkey 20 goto menu
if $lastKey == key[1]; then chain /HOM1.DAT
if $lastKey == key[2]; then chain /HOM2.DAT
if $lastKey == key[F1]; then goto Help
goto menu

Server2003:
cls
print r "\n\cXXPress \c0BF1 \cXXfor Help \n"
print c "\n\cXXMicrosoft Windows Server 2003 Corporate \n"
print c "\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 \n"
print "1) Enterprise \n"
print "2) Standard \n"
print "3) Web \n"
print "4) Datacenter \n"
print c "\n\n"
print "Press any key to return to main menu... \n"

Server2003_Key:
getkey 20 goto menu
if $lastKey == key[1]; then chain /3ENT.DAT
if $lastKey == key[2]; then chain /3STD.DAT
if $lastKey == key[3]; then chain /3WEB.DAT
if $lastKey == key[4]; then chain /3DCT.DAT
if $lastKey == key[F1]; then goto Help
goto menu

2000:
cls
print r "\n\cXXPress \c0BF1 \cXXfor Help \n"
print c "\n\cXXMicrosoft Windows 2000 \n"
print c "\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 \n"
print "1) Professional \n"
print "2) Server \n"
print "3) Advanced Server \n"
print c "\n\n"
print "Press any key to return to main menu... \n"

2000_Key:
getkey 20 goto menu
if $lastKey == key[1]; then chain /2PRO.DAT
if $lastKey == key[2]; then chain /2SRV.DAT
if $lastKey == key[3]; then chain /2ADV.DAT
if $lastKey == key[F1]; then goto Help
goto menu


Help:
cls
print c "\n\cXXMulti-Boot DVD Help \n"
print c "\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 \n"
print "\n"
print "Hit the key of your choice in the main menu -> \n"
print "\n"
print "\n"
print "Install Types \n"
print "컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 \n"
print "Regular - Install will prompt you for all information during setup. \n"
print "Unattended - Install with no user prompts. \n"
print "OEMPreinstall - Install Windows and additional programs with no user prompts. \n"
print "\n"
print "\n"
print "Press any key to return to main menu... \n"
getkey
goto menu
end
JohnSteven
Hi Katheryn,

Maybe this can help get you started...
CODE
boot:
cls
print "\n"
print "Press Enter to boot from DVD... \n"
getkey 15 boot 0x80
if $lastKey == key[enter]; then goto time
# When no key found...
goto boot

# Function to display time of day
time:
set hour = $timeHour
set ampm = "am"
if $timeHour > 12; then set hour = $timeHour - 12
if $timeHour > 12; then set ampm = "pm"
set time = "$hour:$timeMinute $ampm"

# Function to display date
date:
set month = "n/a"
if $dateMonth == 1; then set month = "Jan."
if $dateMonth == 2; then set month = "Feb."
if $dateMonth == 3; then set month = "Mar."
if $dateMonth == 4; then set month = "Apr."
if $dateMonth == 5; then set month = "May."
if $dateMonth == 6; then set month = "Jun."
if $dateMonth == 7; then set month = "Jul."
if $dateMonth == 8; then set month = "Aug."
if $dateMonth == 9; then set month = "Sep."
if $dateMonth == 10; then set month = "Oct."
if $dateMonth == 11; then set month = "Nov."
if $dateMonth == 12; then set month = "Dec."
set date = "$month $dateDay, $dateYear"

# Printing the Interface
menu:
cls
set textColor= color[brightblue on black]
set boldColor= color[red on black]
print c "\n\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
컴컴 \n\n"
print c "\cXX<\c0B$time 컴컴 $date\cXX> \n\n"
print c "\cXXMy \cXXMulti-Boot\cxx DVD v1.7\n\n"
print r "\c0Bckite@portraitofakite.com
print c "\cXX컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
컴컴컴 \n\n"
print "\n"
print "1)  Windows XP Professional SP2 \n"
print "2)  Windows XP Home SP2 \n"
print "\n"
print "Q)  Quit to Command Prompt \n"
print "R)  Reboot \n"
print "ESC) Boot 1st Harddisk \n"
print c "\n"

MainKey:
getkey 20 goto menu
if $lastKey == key[1]; then chain /PRO1.DAT
if $lastKey == key[2]; then chain /HOM1.DAT
if $lastKey == key[q]; then end
if $lastKey == key[r]; then reboot
if $lastKey == key[esc]; then boot 0x80

end
ZULU NINER
Katheryn:

Here's a minimalistic script that'll do exactly what you're asking for. Hope it helps...

CODE
HOME:
CLEAR

MENU:
SET TEXTCURSORX = 0; SET TEXTCURSORY = 0
PRINT "Press 1 to install Windows XP Pro SP2\N"
PRINT "Press 2 to install Windows XP Home SP2\N"
PRINT "Press R to reboot\N"
GETKEY 1 GOTO MENU
IF $lastKey == key[1]; THEN CHAIN \PRO1.DAT
IF $lastKey == key[2]; THEN CHAIN \HOM1.DAT
IF $lastKey == key[r]; THEN REBOOT COLD
GOTO MENU

END:
END
Katheryn
wow, thanks to both of you. both those scripts work well. the minimal one is just what i was after too, but i can keep the longer one for future use. merry Christmas. rolleyes.gif
JohnSteven
Glad you got it working.........

.....and a Merry Christmas to you also..........
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.