Błąd DNC: "Runtime Error 339 / 429" (Brakujący składnik ActiveX / OCX)
Dlaczego starsze oprogramowanie DNC może nie instalować się poprawnie lub ulegać awarii podczas uruchamiania.
"Runtime Error 339: Składnik '[filename].ocx' lub jedna z jego zależności nie jest poprawnie zarejestrowana":
Występuje, gdy niezbędny plik nie istnieje lub nie został poprawnie zainstalowany w nowszych wersjach systemu Windows."Runtime Error 429: Składnik ActiveX nie może utworzyć obiektu":
Występuje, gdy program próbuje użyć pliku, ale system odmawia jego uruchomienia w nowszych wersjach systemu Windows.Przyczyna i rozwiązanie dla komputerów na hali produkcyjnej
Starsze aplikacje często polegają na oddzielnych plikach pomocniczych w celu wyświetlania lub zarządzania elementami takimi jak pola tekstowe, przyciski, menu oraz porty RS232. Ze względów bezpieczeństwa nowoczesne wersje systemu Windows mogą umieszczać te niezbędne pliki w innym folderze, w którym aplikacja nie może ich znaleźć, lub w ogóle ich nie instalować. Jeśli system Windows lub aplikacja nie może znaleźć lub otworzyć jednego z tych plików pomocniczych podczas uruchamiania, program natychmiast ulega awarii z błędem 339 lub 429.
Przyczyna: Zazwyczaj dzieje się tak podczas uruchamiania starszego oprogramowania na nowoczesnych wersjach systemu Windows, po dużej aktualizacji systemu lub jeśli oryginalny instalator oprogramowania nie posiadał uprawnień administratora podczas konfiguracji w celu zarejestrowania plików.
Rozwiązanie: Rozwiązanie tych błędów w starszym oprogramowaniu często wymaga otwarcia wiersza polecenia z podwyższonymi uprawnieniami i ręcznego zarejestrowania brakujących plików za pomocą narzędzi systemowych Windows. Czasami aplikację można zainstalować i "Uruchomić jako administrator", czego jednak w dzisiejszych czasach należy unikać.
Opcje EasyDNC dla warsztatów i administratorów IT
- EasyDNC 4.7: Starsza 32-bitowa aplikacja dla starszych wersji systemu Windows. Nadal działa na nowszych 64-bitowych wersjach systemu Windows i wielu operatorów CNC nadal preferuje tę wersję, mimo że według dzisiejszych standardów wygląda na przestarzałą i nie jest w pełni zgodna z UAC.
- EasyDNC v5 (RemoDNC): Nowoczesna aplikacja 'AnyCPU' dostosowana do współczesnych środowisk .NET, dzięki czemu nie posiada żadnych zależności. Instaluje się i działa na systemach Windows XP SP3 lub nowszych. Na komputerze 64-bitowym działa w trybie 64-bitowym i jest w pełni świadoma mechanizmu Windows UAC.
Szczegóły techniczne: Dlaczego tworzenie składników ActiveX/COM kończy się niepowodzeniem
Dla administratorów IT i programistów błędy wykonania 339 i 429 wynikają z niepowodzeń rejestracji COM, gdy aplikacja próbuje utworzyć instancję obiektu:
- Niezarejestrowane kontrolki COM/ActiveX: Jeśli program instalacyjny został uruchomiony bez uprawnień administratora, Kontrola konta użytkownika (UAC) systemu Windows po cichu blokuje rejestrację identyfikatora klasy (
CLSID) wHKEY_CLASSES_ROOT. - Przekierowanie podsystemu 64-bitowego: W 64-bitowych wersjach systemu Windows 32-bitowe kontrolki ActiveX muszą znajdować się w i być rejestrowane za pośrednictwem 32-bitowego podsystemu przy użyciu
C:\Windows\SysWOW64\regsvr32.exe. Jeśli zostaną zarejestrowane nieprawidłowo lub umieszczone tylko wSystem32, 32-bitowe pliki binarne nie będą w stanie zlokalizować ani utworzyć instancji obiektu. - Zerwane łańcuchy zależności: Nawet jeśli główny plik
.ocxjest obecny, błąd 339 lub 429 nadal wystąpi, jeśli pomocnicza biblioteka dynamiczna (np. starsza biblioteka DLL środowiska wykonawczego Visual C++) brakuje w ścieżce systemowej.