registering VM to get Dolphin to run in W95

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

registering VM to get Dolphin to run in W95

Frank Sergeant
I have made an executable using the ADK.  I have sent the executable to
someone running W95 (original W95, I think) and the executable won't run,
complaining about needing to register the VM.  I had him try to register the
CR and VM dlls with the following

Start | Run
   regsvr32  c:\cm\client\bin\DolphinCR993.dll
   regsvr32  c:\cm\client\bin\DolphinVM993.dll

I understand the first (for DolphinCR993.dll) succeeded, but the second
failed with an error like

  LoadLibrary("DolphinVM993.dll") failed.
  GetLastError returns 0x00000485

We have tried several variants, such as running regsvr32 directly from an
MS-DOS command line, etc., such as

  c:
  cd \cm\client\bin
  dir   (to verify the dlls are present and how their names are spelled)
  c:\windows\system\regsvr32 DolphinVM993.dll

all with the same LoadLibrary error mentioned above.

Any suggestions for getting the executable to run on a W95 machine?  We have
already installed Internet Explorer (version 5) and also msvcrt prior to
running regsvr32.

As far as I can tell, registering the dlls is not necessary on W98 or W2K.
Is that your understanding also?


  -- Frank
  [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

jWarrior
How about an option when building an executable to link/combine these
two dlls into the .exe so that there is only one (large) file to distribute?

I don't know that this is technically possible, but it might eliminate this
kind of problem where the VM will be used with only 1 exe file.

Just my tupence tonight.

Donald

"Frank Sergeant" <[hidden email]> wrote in message
news:8uscm3$10c$[hidden email]...
> I have made an executable using the ADK.  I have sent the executable to
> someone running W95 (original W95, I think) and the executable won't run,
> complaining about needing to register the VM.  I had him try to register
the

> CR and VM dlls with the following
>
> Start | Run
>    regsvr32  c:\cm\client\bin\DolphinCR993.dll
>    regsvr32  c:\cm\client\bin\DolphinVM993.dll
>
> I understand the first (for DolphinCR993.dll) succeeded, but the second
> failed with an error like
>
>   LoadLibrary("DolphinVM993.dll") failed.
>   GetLastError returns 0x00000485
>
> We have tried several variants, such as running regsvr32 directly from an
> MS-DOS command line, etc., such as
>
>   c:
>   cd \cm\client\bin
>   dir   (to verify the dlls are present and how their names are spelled)
>   c:\windows\system\regsvr32 DolphinVM993.dll
>
> all with the same LoadLibrary error mentioned above.
>
> Any suggestions for getting the executable to run on a W95 machine?  We
have

> already installed Internet Explorer (version 5) and also msvcrt prior to
> running regsvr32.
>
> As far as I can tell, registering the dlls is not necessary on W98 or W2K.
> Is that your understanding also?
>
>
>   -- Frank
>   [hidden email]
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

Davorin Rusevljan-2
In reply to this post by Frank Sergeant
"Frank Sergeant" <[hidden email]> wrote in message
news:8uscm3$10c$[hidden email]...
> I have made an executable using the ADK.  I have sent the executable to
> someone running W95 (original W95, I think) and the executable won't run,
> complaining about needing to register the VM.  I had him try to register
the
> CR and VM dlls with the following

Run-time installation is my only serious complaint towards Dolphin, I find
it to be an major pain. Recently I had to install dollphin app to
50-something remote machines, and I had misserable 60% success rate on the
first try. All other machines needed some hand tweaking and poking around
the windows to get the VM registered. I think it is not all Dolphins blame,
our setup could have been done better, but even if we followed each bit of
information about installation we could find, I think we would have at least
10-15% failures.

The procedure wich I found workable on the most stubborn machines is as
follows:

o Install 50comupd (it reboots the machine)
o Install mfc42.exe (sometimes reboots the machine)
o unzip to the programs directory c-runtime dll's found on the Dolphin wiki
(DolphinMSVCRTlibs.zip)
o hand register the vm

Anyway, puting all this to the single setup is not easy, and forcing an
client through all this is unacceptable. I have went through by instaling
RemoteAdmin to their machines and doing the dirty work by myself during the
nights, which is a strategy that can work if you  know clients and you have
not too many of them.

As a part of the setup we also throw in dcom update file (but we do not run
it), and regsvr32 just in case.

Davorin Rusevljan


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

Frank Sergeant
"Davorin Rusevljan" <[hidden email]> wrote in message
news:8utm5d$8fou$[hidden email]...
>
> The procedure wich I found workable on the most stubborn machines is as
> follows:

Thank you very much for listing your procedure.  At least I have something
to try.

> o Install 50comupd (it reboots the machine)
> o Install mfc42.exe (sometimes reboots the machine)
> o unzip to the programs directory c-runtime dll's found on the Dolphin
wiki
> (DolphinMSVCRTlibs.zip)


> o hand register the vm

By 'hand register', do you mean to run regsvr32 as in

    regsvr32 DolphinVM993.dll

or do you mean something else, such as editing the registry directly?  (If
so, please tell me how you do it.)

> Anyway, puting all this to the single setup is not easy, and forcing an
> client through all this is unacceptable.

Yes, that is a problem for me.  I can't expect the client to do it
(especially when even I cannot do it!).

Of course, it would simplify my life if I could require my clients to run
W98 or newer, but I feel I simply cannot do that.

In my earlier post, I forgot to mention I'm running version 3.06 pl5.

Andy, Blair,

     Is there any sort of command line parameter that I could supply to the
executable to tell it where to find the VM, in order to get around this
problem?  Anything I could do to 'patch' the executable with a binary editor
to indicate where to look for the VM?  Might you be able to alter the stub
program (or whatever) so that it first checks the directory the image is in
and if the VM is present there, to just use it, thereby avoiding the need to
register the VM?  Any other thoughts or suggestions about how to register
the VM?


  -- Frank
  [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

Andy Bower
In reply to this post by Davorin Rusevljan-2
Davorin,

> Run-time installation is my only serious complaint towards Dolphin, I find
> it to be an major pain. Recently I had to install dollphin app to
> 50-something remote machines, and I had misserable 60% success rate on the
> first try. All other machines needed some hand tweaking and poking around
> the windows to get the VM registered. I think it is not all Dolphins
blame,
> our setup could have been done better, but even if we followed each bit of
> information about installation we could find, I think we would have at
least
> 10-15% failures.

One of the problems we found with the installation of the Dolphin runtime
system (which, of course, the Setup program for the development system has
to install itself) was that if the MSVCRT library was too old then the VM
would refuse to register during the setup. Of course the setup installs the
correct MSVCRT but this doesn't get copied over until a reboot, which is too
late because the setup has already tried to register the VM and failed. In
these cases it is necessary to use REGSVR32 to manually register the VM or
(perhaps preferably) to run the setup a second time.

Another problem we've seen was caused by an earlier distribution of the Java
VM being supplied with a copy of MSVCRT with the wrong (later) date. This
caused our installation to think that current version on the system was
adequate (when it wasn't) and to not install the correct version. Truly "DLL
Hell".

Hopefully, all this will get significantly better with Dolphin 4.0 for
developers who choose to make use of the Windows Installer (MSI). This
allows us to supply you (the developers) with a "merge module" containing
all the stuff to correctly set up and register the Dolphin runtime files on
a target achine. All you need to do is to link this (and the merge modules
for MSVCRT and MSVCIRT) with your setup and "hey presto" all should be well.

Unfortunately, this all comes at a price (literally). Although the Windows
Installer system is, itself free, it appears that most setup programs that
make use of it are not. If you have MS Visual Studio then the Visual Studio
Installer is free and will probably be adequate for most purposes.
Alternatively, you can buy the offerings from Wise or InstallShield that are
compatible with the Windows Installer. These seem to be priced around
$800-1000 (which is pretty galling when one considers the cost of the
Dolphin development system).

Of course the API for the underlying Windows Installer will be fully
accessible by Dolphin. All it needs is someone out there to create a Dolphin
Setup Builder and we're away. Any takers?

Best regards,

Andy Bower
Dolphin Support
http://www.object-arts.com

---
Visit the Dolphin Smalltalk Wiki Web
http://www.object-arts.com/wiki/html/Dolphin/FrontPage.htm
---


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

Davorin Rusevljan-2
In reply to this post by Frank Sergeant
"Frank Sergeant" <[hidden email]> wrote in message
news:8uujdu$ku1$[hidden email]...
> By 'hand register', do you mean to run regsvr32 as in
>
>     regsvr32 DolphinVM993.dll

this is what I ment.

Davorin Rusevljan


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

Davorin Rusevljan-2
In reply to this post by Andy Bower
"Andy Bower" <[hidden email]> wrote in message
news:8uvak9$2ugph$[hidden email]...
> Davorin,
>
> One of the problems we found with the installation of the Dolphin runtime
> system (which, of course, the Setup program for the development system has
> to install itself) was that if the MSVCRT library was too old then the VM
> would refuse to register during the setup. Of course the setup installs
the
> correct MSVCRT but this doesn't get copied over until a reboot, which is
too
> late because the setup has already tried to register the VM and failed. In
> these cases it is necessary to use REGSVR32 to manually register the VM or
> (perhaps preferably) to run the setup a second time.

Rebooting and registering afterwards helps sometimes, but not allways. There
are some machines which will register only if I do the rain-dance
described - install the new C runtime in windows system (by means of
mfc42.exe),  _and_  put the msvcrt files into the directory where dolphin
app runs.

> Hopefully, all this will get significantly better with Dolphin 4.0 for
> developers who choose to make use of the Windows Installer (MSI). This
> allows us to supply you (the developers) with a "merge module" containing
> all the stuff to correctly set up and register the Dolphin runtime files
on
> a target achine. All you need to do is to link this (and the merge modules
> for MSVCRT and MSVCIRT) with your setup and "hey presto" all should be
well.

I am looking forward to it :)

> Of course the API for the underlying Windows Installer will be fully
> accessible by Dolphin. All it needs is someone out there to create a
Dolphin
> Setup Builder and we're away. Any takers?

I have developed a slight fobia towards installations, so I will have to
politely decline  :)

Davorin Rusevljan


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

Blair McGlashan
In reply to this post by Frank Sergeant
Frank

>      Is there any sort of command line parameter that I could supply to
the
> executable to tell it where to find the VM, in order to get around this
> problem? ...

Actually the executable will find the VM if it is in the same directory as
the executable (or any other directory on the path search by load library),
and register the VM itself if it finds it is not registered. However, this
will not help you. The problem is that some pre-requisite library of the VM
is not available, or is not available in the correct version, and so it
fails to register. When the .EXE tries to register the VM itself (if it
finds it) it will have the same problem. This is usually (on Win95) down to
an absent, or incorrect, version of one of the C runtime libraries. There is
some information on the Wiki about it, and also in Ian's newsgroup archive.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

jWarrior
In reply to this post by Andy Bower
"Andy Bower" <[hidden email]> wrote in message
news:8uvak9$2ugph$[hidden email]...

[snip]

>
> Of course the API for the underlying Windows Installer will be fully
> accessible by Dolphin. All it needs is someone out there to create a
Dolphin
> Setup Builder and we're away. Any takers?

I am probably missing something here because I don't know jack about
installers, but... What does this Dolphin Setup Builder produce? An install
program? Got any documentation on this that the uninitiated could read?

>
> Best regards,
>
> Andy Bower
> Dolphin Support
> http://www.object-arts.com
>
> ---
> Visit the Dolphin Smalltalk Wiki Web
> http://www.object-arts.com/wiki/html/Dolphin/FrontPage.htm
> ---
>
>


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

Bill Schwab-2
Donald,

> > Of course the API for the underlying Windows Installer will be fully
> > accessible by Dolphin. All it needs is someone out there to create a
> Dolphin
> > Setup Builder and we're away. Any takers?
>
> I am probably missing something here because I don't know jack about
> installers, but... What does this Dolphin Setup Builder produce? An
install
> program? Got any documentation on this that the uninitiated could read?

Not really "documentation", but, have a look at

    http://www.object-arts.com/wiki/html/Dolphin/ItWouldBeCoolIfWeHad.htm

which contains a small entry on the idea.  The end result could take a
variety of forms, but, one thing is clear: if it's a Dolphin app, it needs
the runtimes to get going.  If you have any thoughts on how to make it work,
please add them to the Wiki page.

Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

jWarrior
"Bill Schwab" <[hidden email]> wrote in message
news:8v1arm$35iso$[hidden email]...

> Donald,
>
> > > Of course the API for the underlying Windows Installer will be fully
> > > accessible by Dolphin. All it needs is someone out there to create a
> > Dolphin
> > > Setup Builder and we're away. Any takers?
> >
> > I am probably missing something here because I don't know jack about
> > installers, but... What does this Dolphin Setup Builder produce? An
> install
> > program? Got any documentation on this that the uninitiated could read?
>
> Not really "documentation", but, have a look at
>
>     http://www.object-arts.com/wiki/html/Dolphin/ItWouldBeCoolIfWeHad.htm
>
> which contains a small entry on the idea.  The end result could take a
> variety of forms, but, one thing is clear: if it's a Dolphin app, it needs
> the runtimes to get going.  If you have any thoughts on how to make it
work,
> please add them to the Wiki page.

That was my confusion. How does an Dolphin installer install the runtime
dlls
on which it depends?

>
> Have a good one,
>
> Bill
>
> --
> Wilhelm K. Schwab, Ph.D.
> [hidden email]
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

Davorin Rusevljan-2
"Donald MacQueen" <[hidden email]> wrote in message
news:8v2511$eg7$[hidden email]...
> That was my confusion. How does an Dolphin installer install the runtime
> dlls
> on which it depends?

My gut feeling is that MS installer (which is free or something like that)
can run some form of installation scripts, or install a program from some
sort of configuration data.

Now what is not free, and what wise and likes are selling is an program
which creates this script/configuration data. Since this program which
creates the script is running on development machine there are no reasons
why it could not be written in Dolphin.

Davorin Rusevljan


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

Andy Bower
In reply to this post by jWarrior
Donald,

> That was my confusion. How does an Dolphin installer install the runtime
> dlls on which it depends?

The Microsoft Windows Installer (MSI) is a package that you install on you
client computers. Win2000/ME come with it pre-installed and there ae updates
for Win95/98. Once enables the MSI handles all the intricacies of installing
applications that make use of it.

Obviously, one needs to tell it what to install. This is done by creating a
database file (with .MSI extension) that contains all of the information
(and the DLLs etc) required by the installer to set up your app on the
target computer. The database includes registry settings and other stuff
too.

So with MSI it is no longer necessary to create a setup program per se (e.g.
SETUP.EXE). Instead, the process is data driven and what you, as software
developer provide, is the database file (SETUP.MSI).

So, the question then is, "How do I create this MSI database thingy?". Well,
there are a number of proprietary solutions by the big setup program
sellers, InstallShield and Wise. However, they tend to be very expensive
(personally, I baulk at paying $999 for my install builder when my
development tool costs arounf a quarter of that). Another is available as
part of Visual Studio (Visual Studio Installer). But of course you have to
be a paid up Visual Studio user to make use of it. The latter is the route
we've taken for the Dolphoin 4.0 installs, BTW.

An alternative would be to use the Microsoft supplied API to build te MSI
database. This is quite a complex beasty (all install stuff seems to need
myriads of options) but using Dolphin to to call this API would mean that
you could write an Install *Builder* for Dolphin (or any other Dolphin based
app) in Dolphin.

If you're interested, see the "Reference" section on the following page:

http://msdn.microsoft.com/library/psdk/msi/wiport_6gf9.htm

Best regards,

Andy Bower
Dolphin Support
http://www.object-arts.com

---
Visit the Dolphin Smalltalk Wiki Web
http://www.object-arts.com/wiki/html/Dolphin/FrontPage.htm
---


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

jWarrior
"Andy Bower" <[hidden email]> wrote in message
news:8v311l$3d42o$[hidden email]...

[snip]
>
> If you're interested, see the "Reference" section on the following page:
>
> http://msdn.microsoft.com/library/psdk/msi/wiport_6gf9.htm

Gee, do you think they could have made it any more complicated?

I will pass on this. I use Smalltalk precisely because I'd rather spend
my time solving my customer's problem than fooling with hWnd,
szFilename, etc.

Donald


Reply | Threaded
Open this post in threaded view
|

Re: registering VM to get Dolphin to run in W95

Bill Schwab-2
In reply to this post by Andy Bower
Hi Andy,

> An alternative would be to use the Microsoft supplied API to build te MSI
> database. This is quite a complex beasty (all install stuff seems to need
> myriads of options) but using Dolphin to to call this API would mean that
> you could write an Install *Builder* for Dolphin (or any other Dolphin
based
> app) in Dolphin.

Please consider shipping a setup.exe or a .MSI for the Dolphin runtime
support.  If I understand correctly, that would take the sting out of
installing the Dolphin runtime support, after which my existing copy of Wise
should do very well at copying files and making shortcuts, registry changes,
etc.  I recently modified my DLLs and ActiveX controls to have minimal
dependencies, which greatly simplified my self-induced runtime requirements.
Other users might want to use the same approach.

Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]