2011-09-12 2 views
0

Office를 32 비트 Windows 7로 마이그레이션하는 과정을 시작하기 전에 현재 기존 응용 프로그램을 테스트하는 마지막 단계에 있습니다. 나머지 응용 프로그램 중 하나가 작성되었습니다 VB6에서 파일 복사 작업을 수행 할 때 문제가 발생합니다.
현재 MIDNSPTEMP. $$$라는 파일에 데이터를 쓰고 작업이 끝나면 FileCopy 명령을 사용하여 MIDNSP. $$$라는 기존 파일에 복사하여 Permission denied 오류가 발생합니다. MIDNSPTEMP를 삭제하는 다음 행은 $$$에 결코 부딪치지 않습니다.
동일한 폴더에 수동으로 새 파일을 만드는 경우 해당 파일이 작동하고 파일을 삭제할 수도 있습니다.
누구나이 상황에서 거부 된 권한을 왜 부여 할 수 있습니까? VB6은 내가 익숙한 언어는 아니지만 이것을보아야하는 사람은 아무도 없습니다. 이 XP에서처럼
마틴VB6 App - Win7에서 FileCopy가 실패 함

+1

와트 폴더? 쓸 수있는 권한이없는 폴더를 사용하고 있습니다. (오류 메시지 종류로 인해 오류 메시지가 나타납니다.) – Deanna

+0

쓰기가 가능하고 삭제할 수있는 네트워크 폴더입니다. . 나는 파일이 제대로 닫혔는지 확인하기 위해 체크를 덧붙였지만, 내가 추측하고있는 것은 닫히지 않은 것으로 보이는 이유가 허가가 거부당하는 이유 일 수 있습니다. –

+0

코드를 열거 나 닫는 방법에 따라 달라질 수 있습니다. 프로세스에 여전히 프로세스가 열려 있습니까? tcarvin의 회신은 도움이 될 것입니다. 우리가 soem 코드를 볼 때까지, 우리는 명확한 답을 줄 수 있습니다. – Deanna

답변

0

윈도우 7이 자동으로 관리 사용자로 명령을 실행하지 않습니다 사전에
감사 대신 그들은 적어도 privlege으로 실행됩니다. 작업하는 폴더에 덜 제한적인 권한을 부여하거나 run-as를 사용하여 관리자로 응용 프로그램을 시작해야합니다.

+0

아, 그렇다면 왜 그런가! 고맙습니다.이 응용 프로그램은 다른 응용 프로그램 내에서 호출되므로 코드처럼 실행되지 않는 한 덜 제한적인 사용 권한을 부여해야합니다. 감사. 마틴 –

+0

사실, 그것이 맞다면 확실하지 않습니다 ... 나는 방금 복사 한 x, y를 같은 폴더에있는 명령 프롬프트에 넣었습니다. 동일한 응용 프로그램은 상위 수준의 다른 폴더에 쓸 수 있으며 사용 권한을 변경하는 것은 큰 일입니다. 파일이 내게 제대로 닫히지 않는 것처럼 보이지만 코드를 변경하지 않고서는이 문제를 해결하기 위해 내가 할 수있는 일이 무엇인지 잘 모릅니다. –

0

파일이 다른 프로세스 (또는 사용자 코드의 다른 부분)에 의해 잠겨 있지 않습니까? ProcessMon (http://technet.microsoft.com/en-us/sysinternals/bb896645), SysInternals 님은 친구입니다. 성공 및 실패와 함께 파일에 대한 I/O를 기록합니다.

+0

그게 내 생각이야. 코드로 파일을 닫은 것처럼 보이지만 실제로 그렇게하지 않는다고 생각합니다. ProcessMon을 사용해 보겠습니다. 고마워요 –

+0

그건 내가 많이 두렵지 않다. 그것은 응용 프로그램에 의해 열리고 닫히는 파일에 대한 어떤 활동도 표시하지 않지만 netowrk 드라이브에 있기 때문에 추측 할 수 있습니다. Win7 바탕 화면에 대한 원격 연결을 통해 관리자로서 processmon을 실행해야했고 문제 파일을 여는 응용 프로그램에 대한 호출을 볼 수 있지만 실제로 열려있는 파일에 대한 참조는 없습니다. –

+0

아, 그 네트워크 파일. 나는 그것을 놓쳤다. – tcarvin

관련 문제