Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

vbscript 5.5 regular expressions

272 views
Skip to first unread message

Jason

unread,
Jul 17, 2000, 3:00:00 AM7/17/00
to
I'm using the vbscript 5.5 in a VB6 app for use of the regular expressions.
I had the beta 2 installed and after installing the release I see no
difference
in my references section. I am trying to deploy an application that uses
this
to a win95 machine that is osr2 and has dcom but, whenever the program
gets to a function that DIMs a 5.5 regular expression object it crashes.
What can I check? I see the vbscript.dll version is 5.5. With the release
version are the library names different?

TIA, Jason

Mark_Pryor

unread,
Jul 17, 2000, 3:00:00 AM7/17/00
to

Jason wrote in message <#l5S23$7$GA.245@cppssbbsa05>...

Are you using early binding?Does your RegExp Reference look like this?
Open your project file and check the references:
Reference=*\G{3F4DACA7-160D-11D2-A8E9-00104B365C9F}#5.5#0#..\SYSTEM\VBSCRIPT.DLL\3#Microsoft VBScript Regular Expressions 5.5

You might try using Late Binding and CreateObject on the Win95 client.
The distribution issues can get very complicated. Does the Win95 client
have a complete WSH install? including IE 4.01+?

What is the complete error message for the crash?

Later,
Mark Pryor


Jason

unread,
Jul 18, 2000, 3:00:00 AM7/18/00
to

I ended up cleaning the machine completely and only installing IE5.01sp1.
The error has gone away but I got a new one: Object doesn't support
automation etc etc. So I check the registry and the new vbscript.dll
didn't register all its functionality. It still thought it was using 1.0
RegExp.
I run the scr55en.exe and then my program works. It seems maybe OS
previously had some sort of corruption. This however, puts me in a new
delima; how can I install VBScript.dll version 5.5 and have all the
functionality
without having to run the scr55en.exe. I have over 3000 workstations this
application will have to be distributed to and I think they'd shoot me if I
told
them all to install yet another little piece on its own. Can I simply copy
the
VBScript.dll and yank out all the registry entries for it from my
workstation
and put them in the install? I'm using the Windows Installer engine,
creating the
base msi from Visual Installer and then hacking what I need in with Orca.

TIA, Jason


"Mark_Pryor" <erlan...@hotmail.com> wrote in message
news:e0YwtKD8$GA...@cppssbbsa02.microsoft.com...

Joshua Lee

unread,
Jul 19, 2000, 3:00:00 AM7/19/00
to
As a general rule, always uninstall the preview or beta version of the
software before you install the actual release version. That would save
you much troubles on mis-match of dlls.

Also, copy the dll and registry entries is usually a risky act, as you
might be missing some dependencies and what is being done during the
intended installation of the program.

If you want to redist the VBScript.dll but don't want your users to run
scr55en.exe manually, there are a few options.

1) Redist IE5.5 via IEAK, so it will create a package for you with all the
preferences that you want. And with the side effect of having VBScript 5.5
in all user machines. See
http://www.microsoft.com/windows/ieak/en/default.asp for details in IEAK.
This might be your best option.
2) If that doesn't work for you, you could push it out using SMS and run
scr55en that way.
3)Well you might not have SMS installed in your company, you could write a
vbs/wsh file as a log on script to windows, so your users' machines will
run that automatically during log on.
4) Or you could create an ActiveX control to run the installation and put
it on a web page.
5) Of course, there might be some other ways to do so.

Joshua Lee
Microsoft


Jason

unread,
Jul 19, 2000, 3:00:00 AM7/19/00
to

Thanks Joshua!
I have one question though, how do I uninstall the scripting beta? Command
line switch?

Thanks, Jason


""Joshua Lee"" <joshual...@microsoft.com> wrote in message
news:XYwTANS8$GA...@cppssbbsa01.microsoft.com...

Michael Harris

unread,
Jul 19, 2000, 3:00:00 AM7/19/00
to
In the case of the script 5.5 beta, there is no uninstall option. Installing the release over the
beta works fine (the release will always have a higher build number than the beta).

In any case, your original problem is simply one related to early binding.

You compiled your VB app with early binding on machine A with the newest (5.5) vbscript RegExp.
That ties it to the new RegExp interface id (IID). The old IID is still there but it isn't the
default interface so in VB you can't bind to the old IID (you don't want to anyway since you want
the new features).

Now you run your app on machine B that has an earlier version of vbscript and a version of RegExp
with only the old IID. VB queries the RegExp object for the new IID to which it responds "say
what?...".

Now suppose you had done the reverse - compiled on B with an old RegExp early bound to the one and
only (old) IID. Now you run on A with the new RegExp which supports both the old and new IIDs.
When VB queries for the old IID, it happily responds.

You can avoid this (sort of) by using late binding - CreateObject() and a generic variant or object
variable. Of course you can't use anything new features - you have to limit yourself to the "lowest
common denominator" but at least the app won't crash...

--
Michael Harris
MVP Scripting


"Jason" <jason...@mail.state.ky.us> wrote in message news:OuFoWTa8$GA.282@cppssbbsa05...

ista...@my-deja.com

unread,
Aug 17, 2000, 3:00:00 AM8/17/00
to
Sorry Michael, I am pretty new to this group and am trying to
understand all the vbscript versions.

Is there a version of vbscript that supports early binding from VB 6.0?

In article <#6OMx2f8$GA.196@cppssbbsa05>,
"Michael Harris" <Please...@To.NewsGroup> wrote:

>
> You compiled your VB app with early binding on machine A with the
newest (5.5) vbscript RegExp.


Sent via Deja.com http://www.deja.com/
Before you buy.

Michael Harris

unread,
Aug 19, 2000, 3:00:00 AM8/19/00
to
The VBScript.RegExp component is the only creatable object supported by VBScript. It was introduced
in VBScript version 5.0 and changed in version 5.5. You can early bind to it from VB 6.0 (or 5.0 or
4.0), but when you do, you bind to the default interface of the version that is present on the
development machine. If that's 5.0 (or 5.1) than the VB 6 app will work on client machines with
VBScript version 5.0 or higher. But if you bind to version 5.5, then it will work only on client
machines with VBScript 5.5 or higher, even if you don't use any 5.5 features.

--
Michael Harris
Microsoft.MVP.Scripting
--
<ista...@my-deja.com> wrote in message news:8nht0g$3t3$1...@nnrp1.deja.com...

0 new messages