Windows 10의 VB6 앱과의 호환성 문제

Windows 10의 VB6 앱과의 호환성 문제

큰 문제

제가 일하는 조직에서는 관리 시스템(다른 회사에서 만든 모듈식 응용 프로그램)이 97/98년에 VB에서 개발되었으며 VB.NET과 같이 더 발전된 다른 개발 플랫폼으로 마이그레이션한 적이 없습니다. 이 응용 프로그램(32비트)은 Windows 7(32비트 및 64비트)에서 올바르게 작동했습니다.

이제 명백한 보안상의 이유로 이 시스템을 Windows 10에 설치해야 하며 여기에는 몇 가지 문제가 있습니다.

  1. Windows 7과 호환되지 않는 경우,기본 애플리케이션은 마치 모듈인 것처럼 다른 버튼을 사용하여 하위 애플리케이션을 시작합니다.이러한 하위 응용 프로그램 중 일부에서 오류가 발생하는 경우가 있습니다.런타임 오류 '53': 파일을 찾을 수 없습니다.어떤 dll이 누락되었는지 지정하지 않고. 다른 하위 애플리케이션은 열리지 않습니다.물론 우리는 이미 라이브러리가 regsvr32.
  2. Windows 7과의 호환성으로,런타임 오류 '53'이 사라지는 것처럼 보이지만 프로그램은 경고를 표시합니다(예:예측됨영어가 아닌 언어로 표시된다는 경고),특수 폴더로 처리해야 하는 일부 파일을 복사할 수 없다는 점에 주목UserProfile,세부 사항으로 추가'런타임 오류 '52': 잘못된 파일 이름 또는 번호'.

나는 무엇을 시도했는가?

  • Windows 10 32비트 및 64비트에서 애플리케이션을 실행해 보았습니다. 두 버전 모두에서 프로그램이 실패했고 심지어 32비트 버전에서는 더 나쁘게 작동하는 것 같습니다.

  • 또한 코드를 분해하려고 시도하여 특수 폴더(적어도 ProgramFilesUserProfile)와 관련된 일부 경로를 해결하는 데 오류가 발생한다는 것을 확인했습니다.

  • 제가 직접 조사한 결과 일부 원인이 있을 수 있다고 생각합니다.이 스레드에 표시된 쉘 및 아키텍처 문제, 응용 프로그램은 셸을 사용하여 특수 폴더를 확인하기 때문입니다. 그러나 이러한 폴더의 경로는 올바르게 확인됩니다.

  • 관리자 모드에서 실행하고 특수 폴더의 권한을 가져 가려고 시도한 상위 모드에서 응용 프로그램을 실행하는 것과 관련이 있다는 의혹이 높습니다. 하지만 일부 구성이 누락된 것 같습니다.

  • 프로그램이 업데이트될 때까지 Windows 10 내에서 Windows 7을 가상화하는 것을 진지하게 고려하고 있습니다.여기에 제안된 대로, 하지만 마지막 총알로 사용하고 싶습니다.

솔직히 말해서 막혔어요.어떤 아이디어가 있나요?

PD: 스타일에 대한 뻔한 답변은 피해주세요."당신의 조직은 더 나은 소프트웨어에 대한 비용을 지불해야 합니다"; 저는 IT 부서에 있지만 아직 이 추악한 관리 소프트웨어의 데이터베이스 바인딩을 해제하지 못했습니다. 상사에게 변화를 설득하는 데 드는 비용은 말할 것도 없습니다.

답변1

내 경험에 따르면 본질적으로 Windows 7과 다른 문제를 일으키는 특정 Windows 10 문제는 없었습니다. 분명히 응용 프로그램은 다양할 수 있으므로 보편적으로 사실이 아닐 수도 있습니다. 그러나 처음에는 완전한 호환성보다는 설치 또는 구성 유형 문제를 찾습니다.

52/53 오류는 - 권한? 드라이브 매핑? 나는 당신의 응용 프로그램을 실행하는 것이 좋습니다프로세스 모니터해당 도구를 사용하여 누락된 항목/찾지 못한 항목을 감지할 수 있는지 확인하세요.

답변2

-관리자 권한으로 실행하세요.

- 사용자가 생성한 폴더에 설치하세요.

- 그의 모든 하위 폴더에 대한 소유권을 가져옵니다.

많은 VB6 응용 프로그램에는 Windows 10의 자체 폴더에 액세스할 수 있는 권한조차 없습니다.

MS 응용 프로그램 호환성 도구 키트 사용해 보기

관련 정보