큰 문제
제가 일하는 조직에서는 관리 시스템(다른 회사에서 만든 모듈식 응용 프로그램)이 97/98년에 VB에서 개발되었으며 VB.NET과 같이 더 발전된 다른 개발 플랫폼으로 마이그레이션한 적이 없습니다. 이 응용 프로그램(32비트)은 Windows 7(32비트 및 64비트)에서 올바르게 작동했습니다.
이제 명백한 보안상의 이유로 이 시스템을 Windows 10에 설치해야 하며 여기에는 몇 가지 문제가 있습니다.
- Windows 7과 호환되지 않는 경우,기본 애플리케이션은 마치 모듈인 것처럼 다른 버튼을 사용하여 하위 애플리케이션을 시작합니다.이러한 하위 응용 프로그램 중 일부에서 오류가 발생하는 경우가 있습니다.런타임 오류 '53': 파일을 찾을 수 없습니다.어떤 dll이 누락되었는지 지정하지 않고. 다른 하위 애플리케이션은 열리지 않습니다.물론 우리는 이미 라이브러리가
regsvr32
. - Windows 7과의 호환성으로,런타임 오류 '53'이 사라지는 것처럼 보이지만 프로그램은 경고를 표시합니다(예:예측됨영어가 아닌 언어로 표시된다는 경고),특수 폴더로 처리해야 하는 일부 파일을 복사할 수 없다는 점에 주목
UserProfile
,세부 사항으로 추가'런타임 오류 '52': 잘못된 파일 이름 또는 번호'.
나는 무엇을 시도했는가?
Windows 10 32비트 및 64비트에서 애플리케이션을 실행해 보았습니다. 두 버전 모두에서 프로그램이 실패했고 심지어 32비트 버전에서는 더 나쁘게 작동하는 것 같습니다.
또한 코드를 분해하려고 시도하여 특수 폴더(적어도
ProgramFiles
및UserProfile
)와 관련된 일부 경로를 해결하는 데 오류가 발생한다는 것을 확인했습니다.제가 직접 조사한 결과 일부 원인이 있을 수 있다고 생각합니다.이 스레드에 표시된 쉘 및 아키텍처 문제, 응용 프로그램은 셸을 사용하여 특수 폴더를 확인하기 때문입니다. 그러나 이러한 폴더의 경로는 올바르게 확인됩니다.
관리자 모드에서 실행하고 특수 폴더의 권한을 가져 가려고 시도한 상위 모드에서 응용 프로그램을 실행하는 것과 관련이 있다는 의혹이 높습니다. 하지만 일부 구성이 누락된 것 같습니다.
프로그램이 업데이트될 때까지 Windows 10 내에서 Windows 7을 가상화하는 것을 진지하게 고려하고 있습니다.여기에 제안된 대로, 하지만 마지막 총알로 사용하고 싶습니다.
솔직히 말해서 막혔어요.어떤 아이디어가 있나요?
PD: 스타일에 대한 뻔한 답변은 피해주세요."당신의 조직은 더 나은 소프트웨어에 대한 비용을 지불해야 합니다"; 저는 IT 부서에 있지만 아직 이 추악한 관리 소프트웨어의 데이터베이스 바인딩을 해제하지 못했습니다. 상사에게 변화를 설득하는 데 드는 비용은 말할 것도 없습니다.
답변1
내 경험에 따르면 본질적으로 Windows 7과 다른 문제를 일으키는 특정 Windows 10 문제는 없었습니다. 분명히 응용 프로그램은 다양할 수 있으므로 보편적으로 사실이 아닐 수도 있습니다. 그러나 처음에는 완전한 호환성보다는 설치 또는 구성 유형 문제를 찾습니다.
52/53 오류는 - 권한? 드라이브 매핑? 나는 당신의 응용 프로그램을 실행하는 것이 좋습니다프로세스 모니터해당 도구를 사용하여 누락된 항목/찾지 못한 항목을 감지할 수 있는지 확인하세요.
답변2
-관리자 권한으로 실행하세요.
- 사용자가 생성한 폴더에 설치하세요.
- 그의 모든 하위 폴더에 대한 소유권을 가져옵니다.
많은 VB6 응용 프로그램에는 Windows 10의 자체 폴더에 액세스할 수 있는 권한조차 없습니다.
MS 응용 프로그램 호환성 도구 키트 사용해 보기