Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

16-bit program not responsive after start #1217

Closed
omouraenko opened this issue Oct 28, 2022 · 6 comments
Closed

16-bit program not responsive after start #1217

omouraenko opened this issue Oct 28, 2022 · 6 comments

Comments

@omouraenko
Copy link

Hello,

I have an issue with OTVDM r2369 running 16-bit DREDGE program for Windows. Installation worked. After starting the program it loads and stays irresponsive. I have to kill the program from the Task Manager. I run with vm=whpxvm.dll, but default settings I get the same result.

Trace file and screenshots are attached.

Thank you!

OS: Windows 10
Version: 10.0.19044 Build 19044

DREDGE program can be downloaded from https://dots.el.erdc.dren.mil/products.cfm?Topic=model&Type=drgmat

screenshots.zip
trace.zip

@cracyc
Copy link
Contributor

cracyc commented Oct 28, 2022

This requires the windows directory to be in a path less than 10 chars long.

1814:Call KERNEL.134: GETWINDOWSDIRECTORY(1327:f76c,0090) ret=1347:1590 ds=129f
1814:Ret  KERNEL.134: GETWINDOWSDIRECTORY() retval=60720010 ret=1347:1590 ds=129f
1814:Call OLE2DISP.4: SYSALLOCSTRINGLEN(1327:f76c "C:\\OTVDM\\WINDOWS",000a) ret=1367:1d3b ds=11ff
1814:CallTo16(func=13c7:066c,ds=11ff,0000,000f,16ef,2cc4) ss:sp=11ff:da34
1814:RetFrom16() ss:sp=11ff:da2c retval=1d7f0f62
1814:Ret  OLE2DISP.4: SYSALLOCSTRINGLEN() retval=1d7f0f66 ret=1367:1d3b ds=11ff
1814:Call OLE2DISP.6: SYSFREESTRING(1327:f76c "C:\\OTVDM\\WINDOWS") ret=1347:4042 ds=129f
1814:CallTo16(func=13c7:079e,ds=11ff,1327,f768,16ef,2cc4) ss:sp=11ff:da94
1814:RetFrom16() ss:sp=11ff:da8c retval=11ff11ff
1814:Ret  OLE2DISP.6: SYSFREESTRING() retval=00000001 ret=1347:4042 ds=129f
1814:Call OLE2DISP.4: SYSALLOCSTRINGLEN(1d7f:0f66 "C:\\OTVDM\\W",000a) ret=1367:1d3b ds=11ff
1814:CallTo16(func=13c7:066c,ds=11ff,0000,000f,16ef,2cc4) ss:sp=11ff:da34

Either rename the otvdm dir to something shorter or use subst.

@omouraenko
Copy link
Author

I tried three configurations and two working.

Option 1: Using 'subst' command

Ran 'subst O: C:\OTVDM' under console. Got O:\WINDOWS and other folders. Then started O:\otvdmw.exe and pointed to O:\INSTALL\DREDGE\SETUP.EXE. It started. I changed install directory to O:\ADDAMS\DREDGE. Then clicked to install. Got an error box: "Error in loading DLL. An unexpected setup error has occurred". Trace file (trace1.zip) is attached. Please check.

Then instead of running O:\otvdmw.exe, I ran C:\OTVDM\otvdmw.exe and pointed to O:\INSTALL\DREDGE\SETUP.EXE. It started and I was able to install into O:\ADDAMS\DREDGE folder.

Then I started O:\otvdmw.exe and pointed to O:\ADDAMS\DREDGE\DREDGE.EXE. It worked!

I reconfigured to use folders on C drive. Rerun the setup from C:\Apps\DREDGE\SETUP.EXE using C:\OTVDM\otvdmw.exe and installed to C:\ADDAMS\DREDGE folder.

To run DREDGE program, I wrote a batch script C:\OTVDM\DREDGE.BAT:

@echo off
if not exist O:\ subst O: C:\OTVDM
O:\otvdmw.exe C:\ADDAMS\DREDGE\DREDGE.EXE
subst O: /D

Now everything works as well.

Option 2: Using a USB drive

I copied OTVDM folder content to the root of a USB drive (D:) and then installed DREDGE there. Everything worked.

This is a good portable solution.

Option 3: Shorten folder name

I tried to shorten OTVDM to O and WINDOWS to WIN. Then changed WINDIR=WIN in otvdm.ini. Ran SETUP, which worked fine. Installed to C:\ADDAMS\DREDGE. Then ran C:\O\otvdm.exe C:\ADDAMS\DREDGE\DREDGE.EXE. Got error 'Run-time error 75: Path/file access error'. Trace file (trace2.zip) is attached. Please check.

Many thanks!

trace1.zip
trace2.zip

@cracyc
Copy link
Contributor

cracyc commented Oct 28, 2022

I get a similar error when the windows dir is the root. I think it expects the windows dir to be in a single subdirectory and fails if it's the root or more than one level deep.

@omouraenko
Copy link
Author

Thank you for checking. The option with 'subst' is working for me.

One more question. Do you know if it is possible to incorporate 'subst' command into commands in install.inf?

Thank you!

@cracyc
Copy link
Contributor

cracyc commented Oct 28, 2022

I don't think that's possible because of the way that works. I think if you need that functionality your batch file is the best way.

@omouraenko
Copy link
Author

Thank you very much for quick responses and resolution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants