Win32::OLE version conflict problem...please help

J

josh.dewinter

Hi there
Semi newbie here. If this is the wrong forum for this, I
apologize. I'm trying to use a nifty module, the "Mail::Outlook"
module, that lets you send mail from Microsoft outlook when it's the
only mail client available on the system. So, that being said, to
implement this functionality, it uses another module - Win32::OLE - to
do the actual talking between Perl and Outlook. Now the issue - I'm
getting the following error when I try to run my script:


Win32::OLE object version 0.1701 does not match $Win32::OLE::VERSION
0.1702 at C:/Perl/lib/DynaLoader.pm line 225.


When I scoured the net, I eventually found that the "OLE.dll"
file Perl uses is version 1701, and the "OLE.pm" file is version 1702,
hence the conflict (I think). What can I do? I can't find version
1701 of Outlook.pm on CPAN or elsewhere, and one more limitation of my
conundrum is that I work for a company where I can't just update
(ActiveState) Perl to a new version (if that even would help), because
it hasn't been approved by our IT people yet.

-J
 
C

Craig

Please post the script that causes this error. We can't troubleshoot
your issue without the code.
 
S

Sisyphus

..
..
Win32::OLE object version 0.1701 does not match $Win32::OLE::VERSION
0.1702 at C:/Perl/lib/DynaLoader.pm line 225.

The conflict is between OLE.dll (version 0.1701) and OLE.pm (version
0.1702). Win32::OLE ships as standard with ActivePerl, so it's hard to see
how the mismatch could have arisen - but it obviously has happened, and
definitely needs to be resolved.

Either someone has botched an attempt to upgrade Win32::OLE, or an
installation/upgrade of ActivePerl has been botched. Either way, it sounds
like a problem created by someone with Admin rights - and would best be
fixed by someone with Admin rights (by re-doing the "botched" attempt
correctly).

Win32::OLE is part of libnet. If you can find a version of libnet whose
source contains version 0.1701 of Win32::OLE you could fix the problem
yourself. One such fix would be to then copy the Win32::OLE source files to
a directory that you *can* write to (say, C:\my_user\stuff) and then start
your scripts with:

use lib 'C:/my_user/stuff';

It would be messy (as there's a number of .pm files that constitute the perl
part of Win32::OLE, and they would all need to be located correctly under
C:\my_user\stuff) but it could be done. But for that to work you would need
to first find the source of version 0.1701 of Win32::OLE. (I took a look at
libnet sources on CPAN and couldn't find such a version of Win32::OLE.)

Much better if the problem is fixed properly by someone with the requisite
permissions.

Cheers,
Rob
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,072
Latest member
trafficcone

Latest Threads

Top