JMP 자동화를 실행하는 몇 가지 기능이 있는 C# 응용 프로그램이 있습니다. 사용자가 C# 애플리케이션을 시작하면 사용자 시스템에 JMP가 설치되어 있는지 확인합니다.JMP가 시스템에 설치되어 있는지 확인하는 방법에 대해 이 문제에 대해 JMP 기술 지원에 문의했습니다.해결책은 레지스트리 키를 찾는 것이었습니다.
C# 코드에는 JMP가 설치되어 있는지 확인하는 bool이 있습니다.
bool jmpExists = Registry.ClassesRoot.OpenSubKey("TypeLib\\{DCD36DE0-78F8-11CF-9E68-0020AF24E9FE}\\1.0\\0\\win32", false) != null;
지금까지 최소 2대의 PC(Windows 10 및 JMP 13 설치)에는 이 레지스트리 키가 없지만 10대의 PC에는 레지스트리 키가 있습니다.
레지스트리 키가 누락된 한 PC에서 JMP 자동화(레지스트리 키 누락 무시)를 실행하려고 시도했지만 이 PC에서 시작하지 못했습니다. 다음으로 JMP 13을 제거한 다음 JMP 13을 다시 설치했는데 그 후 레지스트리 키가 있었고 JMP 자동화가 제대로 작동했습니다.
JMP/자동화의 인스턴스를 생성하는 C# 코드입니다.
System.Runtime.InteropServices 사용;
JMP.Application myJMP = new JMP.Application();
그러나 내 소프트웨어를 사용할 수 있는 많은 사용자는 JMP를 많이 사용자 정의했으며 JMP를 제거하고 다시 설치한다는 생각은 매우 바람직하지 않습니다! (그들의 JMP는 그렇지 않으면 잘 작동합니다)
일부 사람들의 컴퓨터에서 이 레지스트리 키가 누락된 이유를 아십니까? (JMP 13을 실행하는 Windows 7 PC)
JMP를 다시 설치하는 것 외에 이 문제를 해결할 방법이 있습니까?레지스트리 키가 없는 컴퓨터에 레지스트리 키를 복사하는 단순한 문제인지 확실하지 않습니다. 그것이 해결책이라면 레지스트리 키를 복사하고 설치하는 방법을 정확히 모릅니다.
32비트 JMP가 64비트 버전에 설치된 경우 해당 키가 Wow 하이브에 나타날 수 있습니다.따라서 문제의 키는 다음 위치에 있습니다.
HKEY_CLASSES_ROOT\WOW6432노드\TypeLib\{DCD36DE0-78F8-11CF-9E68-0020AF24E9FE}\1.0\0\win32
브라이언 코코란
JMP 개발
파일 연결 재설정 ~해야 한다 해당 레지스트리 키를 재설정하십시오.
파일 > 기본 설정 > Windows 특정
어떤 이유로 작동하지 않으면 Regedit에서 직접 레지스트리 키를 만들 수 있습니다.
jmpExists 변수는 실제로 "JMP가 설치되어 있고 JMP를 자동화할 수 있음"을 의미합니다.