Nicolas
Nicolas

Reputation: 2376

Copying (and running) my DOS program (with database) to my windows 8

-------UPDATE-------

So on Jos his advice i found a few things out. First of all, the program on the network is located in a shared folder on the I drive which is called apps. in this apps folder the unitbeheer folder is located with all its files and stuff. The thing is though, i cant access the I drive on the network and neither can the people that use the program. The I folder is an old (virtual) shared drive that has no use except of running the unitbeheer program - so exactly what Jos thought.

Though some network person has transferred the dos program (unitbeheer) a long time a go to the XP computer. It seems that he created a own virtual drive I on this XP computer. And here i COULD look in the I drive, the I drive contains nothing more than the program (and files) itself which i already copied. So my guess is that all the files of unitbeheer use some direction path to i.

I can by the way not get access to the apps file on the network which contains the program and neither can i have access to the I drive so i have to simulate everything in my testing environment (my windows 8 pc).

Since the I drive just contained the program(files) i thought to be smart and create a virtual I drive myself on the computer so i did (see picture):

own created i drive

I thought perhaps most of the errors were gone since i am running the program now from the I driver but when i launch the shortcut of the program it says that the shortcut it refers to is unavailable.. So i removed the unitbeheer folder and just copied all the files in the folder directly to I. Now when i launch the shortcut it says that it doesn't work on a 64 bit pc, so what we already knew and what i needed the DOSbox program for.. (this gave me the idea that now the shortcut works).

Though when running it now on dosbox i still get the error that ub.dbo doesn't exist (so creating a I driver doesn't work).

For Jos other questions / solutions: I don't quite know how to do it with the start in folder and target to.. at least i kinda know what you mean (the start in folder is the folder from where it runs) but i am not sure if its good in the current way. When i look at the original shortcut from XP the start in of the shortcut = I:\ and the target = I:\Ub.BAT (this is why i removed the unitbeheer folder in my own created I drive since the target is immediately set to the program launcher). I just left the target and start in as it is now since i created a own I driver or i just mounted it to a I driver.

Then the part about not using DROPbox, good advice since i dont want to mess up important database stuff! Though when i try it to run with Vbox it doesn't quite work. I am mounting it in I: by using: USE I: i:\ then i am trying to cd unitbeheer folder but this doesnt work, neither does cd unitbe~1 works (max 8 char). When copied in I without the folder i try to do: USE I: i:\ and then just fire the program by calling the shortcut (unitbeheer.lnk) or directly the program UB.BAT but this both doesn't work...

I hope you can get me a bit further! Thank you in advance!

------END UPDATE------

The last 13 years a friend of my is using a program called unitbeheer (unit management) which is a DOS program with some kind of database (DOS?). What the program does is quite easy, it has all this information about locations that are being hired (costs, duration, etc.) and we can either add information to it or retrieve it and print it out. Although the program has some more to it, that is basically what it does.

The thing is that it is now running on a windows xp pc and i want to migrate it to a windows 8 pc. I am perhaps in over my head with this but i have read a bit about how to do it and found out that i could use the DOSbox application to run DOS programs on 64 bits systems (my windows 8). So it is all working fine, i have mounted my driver and ran the program.

So the program (and its belonging files, as well its query / database files) are all copied to my pc.

Now when i am running the program i am getting a few errors which i can not figure out. Firstly, when i mount the program files to my c driver (where it is also copied to) and run the program, i am getting the error: no validate station: I: set dire to i:

When i look at what the program does (that is being executed) it seems to go to the folder DBASE5 (with cd DBASE5) and then runs a file called DBASE UB.PRG. First of all, no such file is in that folder, there are however 2 separate files: one being DBASE.EXE and one being UB.PRG. Apart from that, i was curious what was in the UB file so i opened it with notepad. This is the code that is in that folder:

set dire to i:\
do ub.dbo 

ub.dbo is another file with the same name obviously but a different extension. I thought to go around this problem by mounting my driver to I. This is by the way my mounting code (with i as driver) in DOSbox:

mount i c:\DOSfiles
i:
cd unitbe~1
UB.BAT

unitbe~1 is the folder where the DOS program is in (and DOSfiles is a folder i made to put it in) and UB.BAT is the program that needs to be executed.

This worked (kinda) but lead me to another problem, now i am getting the error message: File doesn't exist: ub.dbo. This is rather strange since the file is there in the folder.. and when i open it with notepad i get this weird code that i dont understand:

DBO          9                                               ë ub.prg F P S&O«I¹\ ub.dbo  ž  
         $    ' ÿÿ     ub.dbo          @           h   „   '          ub        ub.prg   

At this point i am getting stuck.. Does any of you perhaps know what is going wrong? Its perhaps a hard question without detailed information about the program so i will try to upload as mich information below:

*Background: The program is being ran on a company's network, since i see this program today for the first time (with the explanation about what it does) i am not sure on which driver it exactly runs (but i guess it is I). Neither do i know what other (perhaps related) files are on there (will know this tomorrow though).

Furthermore i made some screenshots of all the files: (don't mind the notepad open with.. its now the default for some extensions..) - notice there are 2 screenshots of the files of the program in the general map and 2 of the DBASE5 map which is also located (as a map) in the program files.

The files of the unitbeheer program

More files of the unitbeheer program including the launching file

The DBASE5 map image

The DBASE5 map image with the 2 files that are causing the errors

I hope this is enough input. Anyway, thank you in advance!

Upvotes: 1

Views: 1159

Answers (1)

Jos Schaars
Jos Schaars

Reputation: 46

Actually DBASE UB.PRG starts DBASE.EXE instructing it to load and execute UP.PRG.

Go back to the XP PC that runs the unitbeheer program and check if C: has the folder DOSfiles\unitbeheer. If not, but instead C:\unitbeheer, mount C: as C:\DOSfiles so you get the same C: structure on the old and new (DOSBox) PC’s.

Look at what I: is on the XP PC. Probably it is not a “real” drive, but a mapped drive letter to some network share. Just for testing, copy the files and folders of I: (old PC/network share) to C:\I_data on the new PC and mount I: as C:\I_data. Then have a close look at the UnitBeheer shortcut (properties). The “Start in folder” has to become the folder from where you start the unitbeheer program in DOSBox. So you should start in the DOSBox command line with a CD to this folder so this will be the current directory. Then execute the “Target” file from this folder, this could require some folder prefix (..\, whatever).

Mind that DOSBox is not suited to run more than one instance of a program in a multi-user setting. If unitbeheer is used by more than one person simultaneously, don’t set it up to run in the real network. It will in time corrupt the databases! If unitbeheer is indeed used multi-user, have a look at vDos (http://sourceforge.net/projects/vdos/).

Jos Schaars

Upvotes: 1

Related Questions