Link to home
Create AccountLog in
Avatar of jgantes
jgantes

asked on

BartPE: We can't run any of our VB6 programs from Windows PE (Bart PE).

Hello all,

We've written quite a few programs in VB6 and we love Bart PE.  We have the PeNetCfg.ini configured just the way we want and it works fine.

However, when I run VB6 programs it ask for a few DLL's that are typically in System32\

MSVBVM60.DLL
SCRRUN.DLL
IPHLPAPI.DLL

I found a BartPE VB6 Plugin (included msvbvm60.dll and VB6.inf) however, I'm not sure how to install it.

In addition, I'm not sure how to get the other DLL's I need into the System Directory.  If this doesn't work then all of our VB6 programs are garbage :-(

Really appreaciate anyone's help!

Thanks.
Avatar of sunilcomputer
sunilcomputer
Flag of India image

Keep all Required Dll in the same Direcotry's Root where your VB Program is.

Try Copying msvbvm60.dll as  c:\windows\System32\msvbvm60.dll
Try Copying vb6.ini  as c:\windows\vb6.ini

VB Plugin for BartPe Download :-  http://abernard.net:81/software/VB6.zip

Plugin Troubleshoot :- http://www.bootcd.us/BartPE_Plugin_Problem.php

Some useful Info :- http://www.encomconsulting.com/freeware.htm
BartPE Special Forum :- http://www.911cd.net/forums/index.php?c=8
Avatar of jgantes
jgantes

ASKER

Thanks for the info.  I posted there and didn't hear anything back.  

Regarding your comment:

***      
Keep all Required Dll in the same Direcotry's Root where your VB Program is.

Try Copying msvbvm60.dll as  c:\windows\System32\msvbvm60.dll
Try Copying vb6.ini  as c:\windows\vb6.ini
***

How am I to place these files in C:\Windows?  Part pulls everything from from CD Drive fresh with each build?  Can you explain further?

Thanks.
1.  Download the VB6 zipfile.
2.  Expand it into it's own folder in the BartPE Plugins directory, so you'll have the DLL and INF file in pebuilder\plugins\vb6\ directory.  
3.  Run pebuilder.exe and build a new ISO, taking care that you've clicked on PLUGINS in the BartPE program and that VB6 has the word "ENABLED" next to it in the plugins list.
4.  Burn the ISO, boot with it, enjoy VB6.

Avatar of jgantes

ASKER

I will do as your instructed.  Now what if I need additional DLL's that are typically in System32 that are not included with the VB6 Plug-in?

The Plug-in includes

[Included in Plug-in]
MSVBVM60.DLL
VB6.INF

[NOT Included but NEEDED]
SCRRUN.DLL
IPHLPAPI.DLL


Can I drop those in there as well?  Do I need to reference them somewhere?  Will they drop into System32 by default w/ the other MSVBVM60.DLL?

Thanks much.
Let's do one thing at a time.  Let's see how the above step works.  

(SCRUN.DLL and IPHLPAPI.DLL are both on my BartPE CD.  I don't think you have anything to worry about.)
Avatar of jgantes

ASKER

Give me 20 min... trying right now.  Thanks.
Avatar of jgantes

ASKER

It is running the programs now, so the VB6 Plugin worked.  Also, I did see IPHLPAPI.DLL in the x:\i386\system32 directory.

I could not find SCCRUN.DLL anywhere.

I am getting the following errors now while running my VB6 programs:

[ERROR]
Run-Time '429'
ActiveX Component cannot create object.

I'm assuming this is due to the SCCRUN.DLL missing which is needed as a reference for some of the functions my program makes.

Thanks.
http://www.911cd.net/forums//index.php?showtopic=8031

That will tell you how to install a piece of CD burning software.  That will also install sccrun.dll.  You could also try just modifying your vb6.inf file:

; VB6 Runtime

[Version]
Signature= "$Windows NT$"

[PEBuilder]
Name="Visual Basic 6 Runtime"
Enable=1
Help=""

[SourceDisksFiles]
msvbvm60.dll=2
scrrun.dll=2

...or similar....then rebuilding and reburning the ISO...

Can't hurt to try...

Also, you keep writing sccrun.dll - do you mean scrrun.dll?  scrrun.dll is on my PE CD...
Also, the scrrun.dll DLL file is in the same directory as your program, and you're building your BartPE disk with XPSP2 or 2003SP1, right?
Avatar of jgantes

ASKER

Ooops, sorry for the type-o -- yes it's SCRRUN.DLL and it is included.  

I did exactly as above right before you posted in the INF.  However, I'm still getting the same error:

[ERROR]
Run-Time '429'
ActiveX Component cannot create object.


Do I need to register thd DLL's in some other way?  



Avatar of jgantes

ASKER

Yes, it is in the same directory and in i386\system32 on my PE disk.  I used XP w/ SP 2 (Open License version) which has always worked well for me.  

I am running the program from a network drive, but I don't see why this would matter.  I'll double check my references again in VB Pro...
If that's not it, then that suggests it's another issue.  Do you need any other DLLs?  Are there any other references in your code?  Do you need to put ActiveX itself in BartPE?  Can you use a tool like Depends (from within BartPE) to see what dependencies there are?  (sysinternals.com should have a few good tools.)
Avatar of jgantes

ASKER

I added quite the list of items to my VB.INF (see below) and still the same error.  The files all install fine and copy to System32.  Do you think it's possible that VB is looking for the files in a different directory, IE c:\Windows\system32 ?

I can try Depends.  Is that installed by default (I didn't see it as a plug-in)?  

On a side note, it's all my VB programs, not just a handful.  Some are very basic.  

[SourceDisksFiles]
msvbvm60.dll=2
scrrun.dll=2
OLEAUT32.DLL=2
OLEPRO32.DLL=2
ASYCFILT.DLL=2
STDOLE2.TLB=2
COMCAT.DLL=2
All of those are already installed and registered by default in my BartPE, so I don't think those are issues.  

Try installing the VB5 plugin too.  

To get these files on the ISO, either put them in a custom directory (it's the blank box that's staring at you from dead-center when you open pebuilder.exe - then rebuild and reburn) or put them on a USB memory stick and run them from there.  Note the memory stick must be plugged into the BartPE machine before initial bootup, not after.

Ensure this same behavior happens when you run the VB apps locally from the hard disk or from a memory stick.

Run depends on the VB file from within normal Windows and see what DLLs get called.  Then do the same from the PE Windows and see what is different.  

Mail me a vb file to bluescreens@gmail.com.
Avatar of jgantes

ASKER

Thanks for all of your help.  I just sent the file with a .z extension, since Gmail doesn't allow .zip.

I'll add the VB5 plugin, and I'll try loading in the Custom directory as well.

More to come...
Avatar of jgantes

ASKER

Dropped in the VB5 and burned with Custom files.  Same error.
ASKER CERTIFIED SOLUTION
Avatar of dclive
dclive
Flag of United States of America image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
Avatar of jgantes

ASKER

I'm reimaging my system right now... I'll give this a try in a bit.
Avatar of jgantes

ASKER


I used Depndency Walker and found the following -- Are these included in PE?  Maybe these results don't mean anything at all, as I know some of them must be included, and I'm not seeing items such as SCRRUN.DLL.

MSJAVA.DLL (This came back Uknown)
MPR.DLL
ADVAPI32.DLL
GDI32.DLL
GETMACADR.EXE
KERNEL32.DLL
MSVBVM60.DLL
MSVCRT.DLL
NTDLL.DLL
OLE32.DLL
OLEAUT32.DLL
RPCRT4.DLL
USER32.DLL
ACTIVEDS.DLL
ADSLDPC.DLL
ADVPACK.DLL
APPHELP.DLL
ATL.DLL
AUTHZ.DLL
BROWSEUI.DLL
CABINET.DLL
CDFVIEW.DLL
CERTCLI.DLL
CFGMGR32.DLL
CLUSAPI.DLL
COMCTL32.DLL
COMDLG32.DLL
CREDUI.DLL
CRYPT32.DLL
CRYPTUI.DLL
CSCDLL.DLL
DBGHELP.DLL
DEVMGR.DLL
DHCPCSVC.DLL
DNSAPI.DLL
DUSER.DLL
EFSADU.DLL
ESENT.DLL
GDIPLUS.DLL
HLINK.DLL
HNETCFG.DLL
IMAGEHLP.DLL
IMGUTIL.DLL
IMM32.DLL
INETCOMM.DLL
IPHLPAPI.DLL
LINKINFO.DLL
LZ32.DLL
MFC42U.DLL
MLANG.DLL
MOBSYNC.DLL
MPRAPI.DLL
MPRUI.DLL
MSASN1.DLL
MSGINA.DLL
MSHTML.DLL
MSI.DLL
MSIMG32.DLL
MSLS31.DLL
MSOERT2.DLL
MSRATING.DLL
MSSIGN32.DLL
MSVCP60.DLL
MSWSOCK.DLL
NETAPI32.DLL
NETCFGX.DLL
NETMAN.DLL
NETPLWIZ.DLL
NETRAP.DLL
NETSHELL.DLL
NETUI0.DLL
NETUI1.DLL
NETUI2.DLL
NTDSAPI.DLL
NTLANMAN.DLL
ODBC32.DLL
OLEACC.DLL
OLEDLG.DLL
OLEPRO32.DLL
POWRPROF.DLL
PRINTUI.DLL
PSAPI.DLL
QUERY.DLL
RASAPI32.DLL
RASDLG.DLL
RASMAN.DLL
REGAPI.DLL
RTUTILS.DLL
SAMLIB.DLL
SCECLI.DLL
SECUR32.DLL
SETUPAPI.DLL
SHDOCVW.DLL
SHELL32.DLL
SHLWAPI.DLL
SHSVCS.DLL
TAPI32.DLL
URLMON.DLL
USERENV.DLL
USP10.DLL
UTILDLL.DLL
UXTHEME.DLL
VERSION.DLL
W32TOPL.DLL
WINHTTP.DLL
WININET.DLL
WINMM.DLL
WINSCARD.DLL
WINSPOOL.DRV
WINSTA.DLL
WINTRUST.DLL
WLDAP32.DLL
WMI.DLL
WS2_32.DLL
WS2HELP.DLL
WSOCK32.DLL
WTSAPI32.DLL
WZCDLG.DLL
WZCSAPI.DLL
WZCSVC.DLL
Avatar of jgantes

ASKER

Sorry for the long post.  I did find this, but sounds like the same old thing:

http://support.microsoft.com/kb/247979/EN-US/

SOLUTION
Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
Avatar of jgantes

ASKER

I think the solution is installing WSH support, though I will also try everything above (Including FileMon).

I will let everyone know.

; mswsh.inf
; PE Builder v3 plug-in INF file for Windows Scripting Host
; Plugin created by Erwin Veermans (http://www.veder.com/nwdskpe/)

[Version]
Signature= "$Windows NT$"

[PEBuilder]
Name="MsWsh: Windows Scripting Host (WSH) Support"
Enable=1
Help="mswsh.htm"
Version=1.0.1

[SourceDisksFiles]
autorun_mswsh.cmd=2,,1
; system32
cscript.exe=2
jscript.dll=2
mlang.dll=2
scrobj.dll=2
scrrun.dll=2
urlmon.dll=2
vbscript.dll=2
wscript.exe=2
wshext.dll=2
wshom.ocx=2
; inf
wsh.inf=20
Avatar of jgantes

ASKER

WSH Solved my issue (The plug-in above)
(and, certainly, the VB6 plugin too, right?)
Avatar of jgantes

ASKER

Yes, and the VB6 Plug-in.  Thanks for the assistance!