Install off CD-Rom from Floppy Images

I plan to copy my program diskettes to the hard drive or burn to cd-rom.  I would like it when I install from either to automatically continue to the next diskette without prompting.  I know there is a way as I have done it in the past . Unfortunately, I do not remember exactly how this is done.  What I do remember is that there was a folder created for each diskette (disk1, disk2,...) and a file was created and placed in each folder.  The contents of the file and how it is named eludes me.  Thanks.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

You will no doubt have seen downloaded zip files where it unpacks to a main folder and then a few sub-folders named "disk1", "disk2", etc.  Common with drivers for hardware.

They have done much the same thing, only the "root" in this case is the main folder, and would effectively be the root of your CD.

The problem with some program/application floppies is that some of the older ones used Microsoft's DMF (Distributable Media Format).  If you have the floppy set for Microsoft's "Return of Arcade" version 1, then I'm sure those were DMF.  

I'm looking at Disk 1 at the moment, and here's an extract from the file "Arcade.inf" which is the general setup configuration file for the installation.  Here's an extract, editable in NotePad:

;*** BEGIN **********************************************************
; blah, blah, blah
[Source Media Descriptions]
;<disk number>, <disk label>, <file>, <path>
 "1","Return of Arcade Disk 1","","..\disk1"
 "2","Return of Arcade Disk 2","","..\disk2"
 "3","Return of Arcade Disk 3","","..\disk3"
;************* INF File list *****************
[Default File Settings]
"STF_ROOT" = ""
"STF_TIME" = ""
"STF_VITAL" = ""
"STF_DATE" = "1996-02-28"
"sprite7"=  1,SPRITE7.DLL,,,,1996-02-28,,,,,,,,,,5689,,,,,
"arcjoy_dll"=  1,ARCJOY32.DLL,,,,1996-02-28,,1033,,,,,ROOT,,,13824,,,,,

You will notice that, before it gets complicated and specific, it first identifies the Disks:

[Source Media Descriptions]
;<disk number>, <disk label>, <file>, <path>
 "1","Return of Arcade Disk 1","","..\disk1"
 "2","Return of Arcade Disk 2","","..\disk2"
 "3","Return of Arcade Disk 3","","..\disk3"

So, really what it is declaring, is the "souce file" that contains the necessary files for each section of the installation.  In this case, as is usual, they are .CAB files.

In these particular .cab files, the files are fully named, whereas on some older installation floppies like Windows 3.1, the files are named something like "dothis.dl_", etc.  In those cases, the install sequence usually uses the "Extract", "Copy" or "EXT" command to extract them all from the floppy and into respective folders by their correct names eg, "dothis.dll".

On Disk 1 of my example, it uses SETUP.EXE and has correspondingly named .INI, .STF, .LST, and .TDF  files to act as its instruction set.

.INI File extract:  (Editable in NotePad)

[Windows 95 Params]
      WndTitle   = Microsoft Return of Arcade Setup
      WndMess    = Microsoft Return of Arcade Setup...
      TmpDirSize  = 2000
      TmpDirName  = ~msstfqf.t
      CmdLine     = acmsetup /T arcade.stf /O "_" /S %s %s
      DrvWinClass = Stuff-Shell
      Require31   = This application requires a newer version of Microsoft Windows.
      CabinetFile = ARCADE1.CAB

[Windows 95 Files]
      @acmsetup.exe = acmsetup.exe
      @acmsetup.hlp = acmsetup.hlp
      @mssetup.dll  = mssetup.dll
      @arcade.dll  = arcade.dll
      @dsetup.dll  = dsetup.dll
      @dsetup16.dll  = dsetup16.dll
      arcade.stf  = arcade.stf
      arcade.inf  = arcade.inf

.STF file extract:
(Sometimes editable in NotePad or DOS EDIT, but uses a lot of white space strategically separating entries and is easily screwed up!)

App Name      "Microsoft Return of Arcade"
App Version (1033)
Frame Bitmap      "arcade.dll, 121"
Frame Caption      Microsoft Return of Arcade Setup
Dialog Caption Base      Microsoft Return of Arcade
Usage String      Usage: Setup\n
About Box String      Microsoft Return of Arcade\n\nCopyright (C) 1995 Microsoft Corporation.
MSAPPS Mode      local
Inf File Name      arcade.inf
Maximum Object ID      400
Launch Registration Wizard
Floppy Mode Root Object ID      11:01
Maintenance Mode Root Object ID      13:01
Batch Mode Root Object ID      12:01
Setup Version

ObjID      Install During Batch Mode      Title      Descr      Type      Data      BMP Id      Vital      Shared      Dir Chang      Dest Dir      Check Dir      Installed By Us
1      yes      Microsoft Return of Arcade            AppSearch      "c:\MSGames\Arcade2<%p\Microsoft Games\Return of Arcade>, ""ARCJOY32.DLL"", """", 200, ""Yes"", ""Yes"", 2"                                          
2      yes                  SearchDrives      fixed                                          

10      yes      ==== Install Types ====                                                            
11      yes      Floppy Installation            AppMainDlg      21 : 25 30 100 110 120 130 150 301                        Yes      %1            
12      yes      Batch Mode Installation            Group      21 25 30 100 110 120 130                              %1            
13      yes      Return of Arcade Maintenance_installation            Group      25 30 50 60 70 80 100 110 130 301                              %1            
14      yes

.TDF File is in Binary and definitely not editable in Notepad.

Installers like the DOS 6.22 floppy set look for the "Volume label" of each floppy, and these have to contain a space between Disk and 1, or whatever they are, and I've never actually tried to copy them to CD and fool the system into identifying the folders as volume labels.

For the Windows-based ones, though, all they are looking for is the .cab file named under the [Source Media Descriptions] section in the respective .inf file.  The <path> referenced under that section simply tell it to accept "..\disk1" etc, as a valid path to find the named .cab file.  This path is "relative" to the file "setup.exe", so it goes UP by one folder, and then looks for the folder named "disk1".

I would say that, in my example, simply copying the floppies into separate folders named according to the above, would work properly.  All you then have to do is create an "autorun.inf" file in the root of the CD:


The icon is optional, and there are a lot more entries you could create to show right-click menu's etc, but this should do the trick.  If the setup.exe file required specific switches, then they can be added to the "open=" command string.

I haven't tried this on the return of arcade files, but you have prompted me to have a go.  It has worked with most other windows-based driver software distributed on floppy.  I have had to make a few edits to the .ini and .inf files to sort out a couple of problems, but only a couple of times.

Have a go, what does a CD blank cost.  Try it on a machine you intend to format :-)

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
The Windows 3.1 disks have Setup.ini on "disk1" along with setup.exe.

The .ini file sets up a lot more "environments" etc to begin with, obviously from DOS, (extracts):

; Defaults used in setting up and names of a few files
    startup   = WIN.COM
    defdir    = C:\WINDOWS
    shortname = Windows
    welcome   = "Windows 3.1"
    deflang   = enu
    defxlat   = 437
    defkeydll = usadll
    register  = "regedit /s /u setup.reg"
    tutor     = "wintutor.exe "
    NetSetup  = FALSE
    MouseDrv  = TRUE
    Version   = "3.1.040"

; Names of the disks Setup can prompt for.
    1 =. ,"Microsoft Windows 3.1 Disk #1",disk1
    2 =. ,"Microsoft Windows 3.1 Disk #2",disk2
    3 =. ,"Microsoft Windows 3.1 Disk #3",disk3
    4 =. ,"Microsoft Windows 3.1 Disk #4",disk4
    5 =. ,"Microsoft Windows 3.1 Disk #5",disk5
    6 =. ,"Microsoft Windows 3.1 Disk #6",disk6

    Z =. ,"HP DeskJet Series v2.0 disk (from printer box or contact HP)",diskz

    3:setup.ini, noupdate

etc, etc.

In this case all the files are extracted from the *.ex_  formats I spoke of earlier and created in the correct folders on your hard drive.
gorddAuthor Commented:
Thanks for you all your effort but I don't recall this being the solution.

Just as an example, say I copy MS Works 4 from the floppies to the hard drive in a folder called "MSWorks4".  In "MSWorks4", I have subfolders named disk1, disk2, etc to correspond with the diskette it came from.

Now, I burn this to a CD.  When I install (after answering the usual questions), it will install the program without prompting for the location of the next diskette or another diskette itself.  It should simulate the installation as if it was on the CD.

I do have a CD with this somewhere but am unable to discover its location at this point.  It was a rather simple procedure as I recall.
Learn Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

Yes, what is happening there is that there will be an .INI file, or some other data file on the first disk from which SETUP.EXE takes definintions.  As I stated above, when discussing the 2 different floppy sets, is that the "disks" are identified and defined.  Take a look at the entries under the arcade floppies again:

[Source Media Descriptions]
;<disk number>, <disk label>, <file>, <path>
"1","Return of Arcade Disk 1","","..\disk1"
"2","Return of Arcade Disk 2","","..\disk2"
"3","Return of Arcade Disk 3","","..\disk3"

It is clear from the <headers> that there are several ways that the installation can be directed.  You will notice the ; at the start of the line:

;<disk number>, <disk label>, <file>, <path>

because this isn't part of the settings.  It is remarked out, and is only informative to identify the 4 different comma-separated entries below for each floppy.

If it could ONLY identify the floppies from their "Volume labels", then it it wouldn't quote the relative path to the next "floppy" as a directory path.  Instead, what it is specifying here, is that when setup detects that the files in the first .cab file have been extracted and installed, it will then look for the next "folder" OR disk if present.

Unfortunately I don't have a floppy set for Works v.4, or I would have a blast at this.  If it failed, then I would examine any .ini, .inf, .ins, or other data files to see why it failed.

Paste a list here of the files found on Disk 1 of the Works floppy set,  if the list is short enough.

Best way is from a DOS box in windows to direct a listing to a text file:

DIR  /s /b a:\*.* > c:\windows\desktop\wkslist.txt

Meantime, I will see if I can find an equivalent MS floppy set, from around the same era, amongst my archives to have a look at.

Let me explain that a bit better.  I'm not sure how well acquainted you are with navigating in DOS, so I apologise if this is something you are familiar with.

Do it by example, by opening a DOS box within Windows.  It should open to the C:\WINDOWS> prompt.

Here's the sequence of commands to demonstrate the significance of the ..\disk1  entries.  (assume I pressed the enter key after each issued command and that this is what you would see on screen):

C:\WINDOWS>cd ..

C:\>cd windows\fonts

C:\WINDOWS\FONTS>cd ..\command

C:\WINDOWS\COMMAND>cd \command
Invalid directory


C:\>cd windows\command\ebd

C:\WINDOWS\COMMAND\ebd>cd ..\..


It's clear that the .. changes to a folder that is one up in the structure, and from there the \foldername  then changes into that folder.

In context with the ..\disk1  entry, Setup.exe is in the FOLDER "disk1" which is either inside another folder on your hard drive, or even only one folder deep from the root of a CD.  The .. takes it back out of the disk1 folder, and then the \disk2 tells it to move to the disk2 folder.  If you tried to use \disk2 without the .. before it, then it is looking for disk2 as a sub-folder of disk1.

It's as simple as that, but it all depends on the application.
If I remember correctly, it can be done with a .BAT file. It has been awhile since I have done this, so I don't remember the commands, but it should be able to set the default DIR that the setup program uses and " click " OK, so that the install works by itself. I am sorry I can't give more details, but like I said, it has been awhile.
Maybe you could post a low point Q in the MS-DOS section with a link here, and see if someone there could help.
I suppose it really depends on what command line switches or parameters the particular Setup.exe accepts.

With some, you can force it to address a particular data file for directions, while others will automatically use any .ini file of the same name in that same folder.  Some are SFX compressed installer archives that unpack to the %TEMP% folder and run, etc, etc.

It all depends on the applications.  Is it Works version 4 you wish to do this with?
BillDL:  Good point.  : )
I had a text file of notes I was compiling after working out the flow of things from a few different floppy sets, but I went and accidentally deleted it  :-(

It looks to me like these compressed and spanned archives mainly use the settings from an associated .STF file during the unpacking stage.

I wonder if it wouldn't be easier just unpacking the .cab files into one single folder on a CD and seeing if this would work.  After all, that's what it does before running setup.exe.  The .STF file and .inf/.INI files used for the initial unpacking aren's copied to the temp folder, they are only used at the start most often. ACMSETUP.EXE seems to be the common setup executable copied from these floppy sets into the temp folder, and they accept command line switches.

For the cost of a CD it might be worth experimenting.

gorddAuthor Commented:
Looks like BillDL has the correct answer although I'm sure that there was another way to do this.  I found my CD with MSWorks4 and it did have an .inf file that contains:

[Source Media Descriptions]
; <disk number>, <disk label>, <file>, <path>
 "1","Microsoft Works 4.0 Setup: Disk 1","MSWORKS1.CAB","."
 "2","Microsoft Works 4.0 Setup: Disk 2","MSWORKS2.CAB","..\disk2"'
 "3","Microsoft Works 4.0 Setup: Disk 3","MSWORKS3.CAB","..\disk3"'
 "4","Microsoft Works 4.0 Setup: Disk 4","MSWORKS4.CAB","..\disk4"'
 "5","Microsoft Works 4.0 Setup: Disk 5","MSWORKS5.CAB","..\disk5"'
 "6","Microsoft Works 4.0 Setup: Disk 6","MSWORKS6.CAB","..\disk6"'
 "7","Microsoft Works 4.0 Setup: Disk 7","MSWORKS7.CAB","..\disk7"'

[Default File Settings]
"STF_DATE" = "1995-07-11"
"STF_TIME" = "0"
"STF_VITAL" = ""
;************* INF File list *****************

 1, labelswp.,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, wizzy1.lsn,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, cbtlib2.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, wnworks.cbt,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, wnworks.les,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, auction.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, wyse2.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, wyse1.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, wwfloris.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, winners.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, whodunit.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, toys_m.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, toys_l.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, thesis.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, sheet1_u.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, sheet1_a.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, sales.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, sale1.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, resume.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, program.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, popsheet.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, popsales.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, popmemo.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, popcost.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, patrons.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, moles.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, lillooet.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, lexicone.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, letter.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, jun05src.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, herbfarm.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, grant.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, friends.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, forecast.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, florist.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, energy.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, coins.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, climbers.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, cheese.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, breeds.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, books.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, board.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, bbath.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, balou_p.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, balou_c.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, babbitt.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, auntmadg.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, attend.wps,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, address.wdb,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
 1, sumatra.wks,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,


plus another hundred or so lines.

I'm going to keep searching for the other solution I was thinking of as I would like to backup more of my diskettes.

I realize that it would be just as easy to copy the diskettes and point to the correct path when prompted but if there is a simple solution, why not use it? :)

Thanks, gordd.  I agree with you on that one.  There must be a simpler way.  Pity I don't have Works 4.0 on a floppy set, because I've got a spare hard drive to mess with and I'd like to experiment a bit.  The only older Works I have is 4.5 on CD, actually I must dig it out as it might just have an existing folder structure as disk1, etc from an alternative media distribution.

One thing I found about the Arcade floppies I was looking at is that it will NOT install if you make that 1st floppy Read Only.  It needs to write to what I'm sure is the .INI file on the floppy.  Here's some strings I found in acmsetup.exe which is unpacked from the .cab file on disk1:

Setup has found that this disk set may have already been used to install the product.
Only the legal owner of this product may reinstall it, either to update an existing copy, or to replace any corrupted or missing files.

This string appears to be generated when the unpacked file "complinc.dll"  reads the SETUP.INI file from the floppy and returns the results to acmsetup.exe.  Remember I said it was in binary, which is unusual for this kind of .INI file.

Here's another section from acmsetup.exe:

Enter the name of your organization in the box below. Setup will use this name for subsequent installations of the product.
Name Information
Enter your name in the box below. Setup will use this name for subsequent installations of the product.
Enter your full name in the box below. You may also enter the name of your organization. Setup will use this information for subsequent installations of the product.
Disk Set Previously Installed
Setup has found that this disk set has already been used by:
Only the legal owner of this product may reinstall it, either to update an existing copy, or to replace any corrupted or missing files.
You can continue to install this product, but you should be aware that it is protected by copyright law and international treaties.
Disk Write Failure
Setup needs to modify a file on:
If you have locked your disk with a write-protect tab, please unlock it and then click OK.
%s Setup
Locate your 10-digit CD Key and enter it in the space below. You can find this number on the sticker of your CD liner notes or CD sleeve.
CD Key:
Locate your 20-digit Product ID number and enter it in the space below. You can find this number on your Certificate of Authenticity.
Product ID:
Product ID: 00000-0000000-00000
This is your Microsoft product identification number. If you want to call Microsoft for technical support, you will be asked for this number.

So, this might be something to watch out for, and might stop you burning the floppy set to CD.  A primitive "product activation"  :-)

If I studied it long enough, I would probably see how it flowed, and adjust a setting somewhere in an .ini file, but it can take a while.

Good luck.
gorddAuthor Commented:
This copy of Works 4 is burned to a CD so it is a read only file but works fine during setup.
That's good news.  Must have been an experimental method they adopted for a while.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows OS

From novice to tech pro — start learning today.