2013-05-10 124 views
0

我特別是得到這個錯誤在這行:PERL錯誤:的Win32 :: OLE 0.1709)0x80040154錯誤: 「未註冊的類」

# Calculate password using PwdMangler 
$PwdMangler = Win32::OLE->new('PWDMangler.Mangler'); 
my $error1=Win32::OLE->LastError(); 
print "the error is $error1\n"; 

unless($password = $PwdMangler->Mangle($user , $password_plain)) 
{ 
print $log_file "Error occured in PwdMangler\n"; 
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位服務器上運行,安裝了32個perl,但現在在64位服務器上安裝了64位perl。

我無法找出什麼是未註冊

回答

0

您沒有訪問註冊表編輯器?

該名稱必須是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" 
    ; 
+0

感謝您response..i我出的,現在辦公室(週末)..我希望這將work..will讓你知道。 。 – Praveenks 2013-05-11 01:10:53

+0

我用給定的代碼執行了perl腳本..但仍然得到相同的錯誤.. – Praveenks 2013-05-13 05:09:50

相關問題