Jump to content

porting DOS application on WinPE


zen

Recommended Posts


u mean, prob is with my source code

then 1 more thing, code is written in microsoft c 6.0, & i have ready made exe, but i want to compile it & not getting that copiler , can u tell me where can i get that?

Link to comment
Share on other sites

well I tested it with simple dos applications.

choice.com

I also used a utility called Hexedit.exe a small hex editor.

I will go through the reg entries to see if there is anything wrong.

Link to comment
Share on other sites

jeffwitt41,

ntvdm process did start when I ran Hedit.exe

If your application is trying to write to a temp file you might want to copy it to a ramdrive and execute it from there.

What application are you trying to run anyway? Maybe I can give it a shot. Also I do have some modifications to the reg entries, well at least one. but I am not at my pc right now and I don't have it with me. I will repost as soon as i can.

Zen,

I found that the plugin.htm that is included with pebuilder(bartpe) has a lot of information about how plugins' sections are supposed to work. It explains the format that each section is supposed to have. It is kind of brief, but it covers most of the stuff. you might do a search for bartpe plugin for more help.

Link to comment
Share on other sites

Spawn,

I am trying to run command.com. I copied it to the ram drive R: now when I run it I get:

"config.nt. the system file is not suitable for running MS-Dos and Microsoft Windows applications."

I must be missing something here.

Jeff

Link to comment
Share on other sites

Which command.com is that?

the one that comes with windows XP, or 9x, or dos 6.*?

anyway. I tried running the W98 command.com and winpe said "Incorrect Dos Version"

and that is all. that is the same message that I get when trying it on a true win xp.

Here is the updated reg entries. as far as I can tell only one line chaged.

how are you integrating them into your setupreg.hiv?

Make sure that you run the batch file to copy the necessary files also.

HKLM,"ControlSet001\Control\WOW"

HKLM,"ControlSet001\Control\WOW","cmdline",0x00020000, "%SystemRoot%\system32\ntvdm.exe"

HKLM,"ControlSet001\Control\WOW","DefaultSeparateVDM",, "no"

HKLM,"ControlSet001\Control\WOW","LPT_timeout",, "15"

HKLM,"ControlSet001\Control\WOW","size",, "0"

HKLM,"ControlSet001\Control\WOW","wowsize",, "16"

HKLM,"ControlSet001\Control\WOW","wowcmdline",0x00020000, "%SystemRoot%\system32\ntvdm.exe -a %SystemRoot%\system32\krnl386"

HKLM,"ControlSet001\Control\WOW","KnownDLLs",, "comm.drv commdlg.dll ctl3dv2.dll ddeml.dll keyboard.drv lanman.drv mmsystem.dll mouse.drv netapi.dll olecli.dll olesvr.dll pmspl.dll shell.dll sound.drv system.drv toolhelp.dll vga.drv wfwnet.drv win87em.dll winoldap.mod winsock.dll winspool.exe wowdeb.exe timer.drv rasapi16.dll compobj.dll storage.dll ole2.dll ole2disp.dll ole2nls.dll typelib.dll msvideo.dll avifile.dll msacm.dll mciavi.drv mciseq.drv mciwave.drv progman.exe avicap.dll mapi.dll"

HKLM,"ControlSet001\Control\WOW","SharedWowTimeout",65537,3600

HKLM,"ControlSet001\Control\WOW","RomFontPointers",1,\

b0,52,00,c0,b0,4a,00,c0,b0,4e,00,c0,b0,60,00,c0,c0,60,00,c0,c0,70,00,c0

HKLM,"ControlSet001\Control\Session Manager\Environment","PATHEXT",,".COM;.EXE;.BAT;.CMD"

HKLM,"ControlSet001\Control\VirtualDeviceDrivers"

HKLM,"ControlSet001\Control\VirtualDeviceDrivers","VDD",0x00010000, ""

Link to comment
Share on other sites

Spawn,

I have tried it with the command.com from XP and also WS03. I'm also starting to believe that it will not work for what I would like to do. I would like to use the 16 bit sudsystem to the smart start scripting tools from HP to configure array conmtrollers, update frimware and bios. The nt kernel will not allow programs to directly address hardware so I don't think it would work. Also in the toolkit documentation it says they do not run correctly in emulated dos. Thanks for all your help.

Jeff

Link to comment
Share on other sites

Hi Spawn,

thanks, but i tried to run one 16 bit DOS application(for serial port communication) on Bart PE with DOS plug in, but it diden't wrked, so i think none of the PE supports 16 bit DOS application(off course, it do support hello world!!) with system calls.

Link to comment
Share on other sites

I followed the instructions and this is the error I get: cmd.exe /k startnet.cmd -choice.com D:\i386\ A temporary file needed for initialization could not be created or could not be written to.

I get this even if I copy it to my ram drive.

Link to comment
Share on other sites

very odd

did you copy all the needed files? as a test point the batch file to a directory other than your isoroot. something like c:\dospe\. make sure all the files copy properly. I found that if you do not put the trailing backslash on the isoroot path it tries to rename the files as they are copied. so instead of getting the directory structure you get a file called i386 instead of the folder.

Link to comment
Share on other sites

yes the batch file should copy files to the i386, i386/system, and i386/system32 directories. also, this batch copies files from the os that is currently running. I am using windows xp pro.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...