Chyby modelu COM a .NET po migraci architektury Office
Příznaky
Po migraci architektury Microsoft Office z 32bitové na 64bitovou verzi dojde k chybám při použití aplikace com nebo klienta rozhraní .NET Framework. Mezi tyto možné chyby patří mimo jiné následující:
TYPE_E_CANTLOADLIBRARY
TYPE_E_LIBNOTREGISTERED
TYPE_E_ELEMENTNOTFOUND
K chybám obvykle dochází, pokud je aplikace COM nebo klient .NET spuštěný jako 32bitový proces.
Příklad
K těmto chybám může dojít při spuštění následujícího kódu v 86bitovém PowerShellu:
$xl = New-Object -ComObject Excel.Application
$xl.Visible = $True
Příčina
Chyby jsou způsobené osamocenými podklíči registru, které jsou vytvořené migrací.
Řešení
Chcete-li tento problém vyřešit, použijte některou z následujících metod.
Metoda 1: Automatické odstranění osamocených podklíčů
Pokud chcete zjistit a odebrat osamocené podklíče, spusťte tento skript z následujícího umístění GitHubu:
Metoda 2: Ruční odstranění osamocených podklíčů
Pokud skript PowerShellu z kroku 1 neodstraní osamocené podklíče, můžete také osamocené položky vyhledat ručně. Ovlivněné zařízení může mít osamocené podklíče, které se podobají následujícímu příkladu:
HKEY_CLASSES_ROOT\WOW6432Node\TypeLib\GUID\1.9\0\Win32
Poznámka: V tomto příkladu je řetězec, GUID který je specifický pro podklíč.
Podklíč bude mít hodnotu, která odkazuje na chybějící spustitelný soubor Office v cestě k souboru Program Files (x86). Příklady:
C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE
Měl by také existovat sousední podklíč, který odkazuje na správné umístění 64bitového programu Program Files.