PERL 错误:Win32::OLE 0.1709) 错误 0x80040154:"Class not registered"



我得到这个错误,特别是在这一行:

# Calculate password using PwdMangler
$PwdMangler = Win32::OLE->new('PWDMangler.Mangler');
my $error1=Win32::OLE->LastError();
print "the error is $error1n";
unless($password = $PwdMangler->Mangle($user , $password_plain))
{
 print $log_file "Error occured in PwdManglern";
 exit (1);
}

我得到以下错误:

 the error is Win32::OLE
0.1709) error 0x80040154: "Class not registered"
can't call method 'Mangle' on an undefined values.

这个perl脚本是在32位服务器上运行的,但是现在在64位服务器上安装了64位perl。

我找不到没有注册的

您无法访问regedit?

名称必须是HKEY_CLASSES_ROOT下的一个密钥,否则它不是一个注册的类。

使用Perl,你可以这样做:

use Win32::TieRegistry( Delimiter=>"/", ArrayValues=>0 );
$diskKey = $Registry->{'Classes/PWDMangler.Mangler/'}
    or die "'PWDMangler.Mangler' is not a registered class!n"
    ;

相关内容

最新更新