Podczas instalacji component one, mimo wyłączonego UAC występuje „Internal error 2738. Co zrobić. Kiedy zwykłe metody zawodzą pora użyć Google. Niestety nawet wyniki tego mojego największego pomocnika zawiodły. Wtedy pozostaje użyć główki…
Do zdiagnozowania rzeczywistej przyczyny błędu można użyć komendy:
msiexec.exe /I C1StudioNET2_T206.msi /L*v install.log
W moim przypadku wynikiem jest plik log zawierający między innymi:
=== Verbose logging started: 2010-11-25 09:26:07 Build type: SHIP UNICODE 5.00.7600.00 Calling process: C:\Windows\system32\msiexec.exe ===
MSI (c) (64:A0) [09:26:07:193]: Font created. Charset: Req=238, Ret=238, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
MSI (c) (64:A0) [09:26:07:193]: Font created. Charset: Req=238, Ret=238, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
MSI (c) (64:B8) [09:26:07:222]: Resetting cached policy values
MSI (c) (64:B8) [09:26:07:222]: Machine policy value 'Debug’ is 0
MSI (c) (64:B8) [09:26:07:222]: ******* RunEngine:
******* Product: C1StudioNET2_T206.msi
******* Action:
******* CommandLine: **********
[…]
MSI (c) (64:B4) [09:26:13:748]: Connected to service for CA interface.
DEBUG: Error 2738: Could not access VBScript runtime for custom action
Info 2898.For Tahoma8 textstyle, the system created a 'Tahoma’ font, in 0 character set, of 13 pixels height.
DEBUG: Error 2835: The control ErrorIcon was not found on dialog SetupError
Internal Error 2835. ErrorIcon, SetupError
Internal Error 2738.
MSI (c) (64:14) [09:26:16:059]: Product: ComponentOne Studio™ for .NET 2.0 — Internal Error 2738.
[…]
Błąd oznacza, że na komputerze nie jest zarejetrowany engine VBScript. Rejestrację wykonuje się komendą:
c:\windows\system32\regsvr32 vbscript.dll
Komendę należy wpisać w wierszu poleceń uruchomionym z uprawnieniami administratora. Tym razem jednak, taka rejetracja engine nie pomogła. Instalacją Visual Basic Script niby przebiega poprawnie, ale instalacja Component one nadal zgłasza Internal error 2738.
Okazało się, że coś jest nie tak z wpisem w rejestrze. Za VBScript odpowiada wpis w
HKEY_CURRENT_USER\Software\Classes\CLSID\{B54F3741-5B07-11cf-A4B0-00AA004A55E8}. Odszukałem ten wpis w rejestrze w regedit i dla bezpieczeństwa nie usunąłem go, ale zminiłem nazwę dopisując xxxx z przodu.
Kolejna rejestracja vbscript.dll powiodła się i problem został usunięty.
Dziękuję za pomoc:
http://helpcentral.componentone.com/CS/General/f/51/t/70476.aspx
http://www.nitropdf.com/kb/article.aspx?id=10106
Komentarze:
Świetny artykuł, pomyślna rejestracja VBScript przy użyciu tej komendy i koniec problemów z internal error 2738, dzięki…