[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1764
  • Last Modified:

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.
0
jgantes
Asked:
jgantes
  • 15
  • 8
  • 2
2 Solutions
 
sunilcomputerCommented:
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
0
 
jgantesAuthor Commented:
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.
0
 
dcliveCommented:
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.

0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
jgantesAuthor Commented:
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.
0
 
dcliveCommented:
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.)
0
 
jgantesAuthor Commented:
Give me 20 min... trying right now.  Thanks.
0
 
jgantesAuthor Commented:
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.
0
 
dcliveCommented:
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...
0
 
dcliveCommented:
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?
0
 
jgantesAuthor Commented:
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?  



0
 
jgantesAuthor Commented:
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...
0
 
dcliveCommented:
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.)
0
 
jgantesAuthor Commented:
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
0
 
dcliveCommented:
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.
0
 
jgantesAuthor Commented:
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...
0
 
jgantesAuthor Commented:
Dropped in the VB5 and burned with Custom files.  Same error.
0
 
dcliveCommented:
Custom files themselves won't do a thing, but it lets you easily put Depends, DependencyWalker, or other similar tools on the CD.  What did the result of the testing with those files say?
0
 
jgantesAuthor Commented:
I'm reimaging my system right now... I'll give this a try in a bit.
0
 
jgantesAuthor Commented:

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
0
 
jgantesAuthor Commented:
Sorry for the long post.  I did find this, but sounds like the same old thing:

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

0
 
sunilcomputerCommented:
You NEED This Tool:-   http://www.sysinternals.com/Files/FilemonNt.zip

Before you run your application, Just Run Filemonitor. (Set Filters as Include = *, Highlight = NOT FOUND)

This tool will clear each and every thing about Application Extentions Usages and The Order they are searched / used .

***    
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
***
Explaination follows :-

When you run any Application, Windows searches for it's dependencies in a specific order
  1. Application Path (By Default)    (Same Directory Where your Application reside)  - Use Filemon to check it.
  2. Windows System Folder
  3. All the Directories in Current Path. (Check Start > Run > CMD > "Path" )
     You will see some directories. Required component will be searched in the order of Directories Listed.
     Component will be used from it's first instance if it exists at more than one location.

Above Applies to All Traditional Windows Installations.
0
 
jgantesAuthor Commented:
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
0
 
jgantesAuthor Commented:
WSH Solved my issue (The plug-in above)
0
 
dcliveCommented:
(and, certainly, the VB6 plugin too, right?)
0
 
jgantesAuthor Commented:
Yes, and the VB6 Plug-in.  Thanks for the assistance!
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 15
  • 8
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now