파일 연결에 대한 모범 사례
다음 목록은 파일 연결을 사용할 때 사용해야 하는 모범 사례입니다.
- 레지스트리에서 파일 연결 복사 안 함
- 가능한 경우 레지스트리에 대한 Hard-Coding 경로 방지
- 항상 확장 문자열을 따옴표로 줄 바꿈
- 자동 실행/자동 실행을 파일 연결과 혼동하지 마세요.
- 인터넷 Explorer MIME 데이터베이스를 파일 연결과 혼동하지 마세요.
- 적절한 형식 및 버전 관리된 ProgID 사용
- 짧은 파일 이름 확장명을 사용하지 마세요.
- IANA MIME 데이터베이스에 새 파일 형식 등록
- 파일 연결을 위해 Windows 웹 서비스에 등록
- 관련 항목
레지스트리에서 파일 연결 복사 안 함
레지스트리에서 기존 파일 연결을 복사하지 않는 것이 좋습니다. 이로 인해 잘못된 형식의 파일 연결이 전파되는 경우가 많습니다. 대신 파일 연결 샘플 시나리오에 설명된 단계를 따라야 합니다.
가능한 경우 레지스트리에 대한 Hard-Coding 경로 방지
프로그램에 대한 하드 코딩 경로로 인해 문제가 발생할 수 있는 것처럼 레지스트리에 대한 하드 코딩 경로도 문제가 발생할 수 있습니다. 대신 레지스트리 확장 문자열(REG_EXPAND_SZ)을 사용하여 해당하는 경우 경로 독립성을 제공해야 합니다. 예를 들어 이 메서드를 사용하는 대신 다음을 수행합니다.
HKEY_CLASSES_ROOT
MyVendor.MyProgram.1
DefaultIcon
(Default) = C:\WINNT\hta.exe,1
이 메서드를 사용해야 합니다.
HKEY_CLASSES_ROOT
MyVendor.MyProgram.1
DefaultIcon
(Default) = "%SYSTEMROOT%\hta.exe,1"
항상 확장 문자열을 따옴표로 줄 바꿈
확장 문자열은 확장할 때 공백을 포함할 수 있습니다. 공백은 종종 인수 구분 기호로 해석되기 때문에 특정 상황에서 문제가 발생합니다. 예를 들어 MyProgram을 호출하는 명령을 레지스트리에 다음과 같이 저장할 수 있습니다.
%SYSTEMROOT%\MyProgram %1 %2
MyProgram은 %1이(가) 파일 이름의 전체 경로이고 %2는 일부 작업을 나타내는 스위치입니다. 이 명령이 C:\Program Files\My Documents\document.txt 및 /print 인수로 실행되고 SYSTEMROOT가 C:\WINNT라고 가정하면 다음으로 확장됩니다.
C:\WINNT\MyProgram C:\Program Files\My Documents\document.txt /print
이 경우 MyProgram은 첫 번째 인수가 C:\Program이고 두 번째 인수는 의도한 동작이 아닌 Files\My임을 해석합니다. 그러나 확장 문자열이 다음과 같이 따옴표로 묶이면 인수에 공백이 포함되어 있는지 여부에 관계없이 인수가 올바르게 해석됩니다.
"%SYSTEMROOT%\MyProgram" "%1" "%2"
자동 실행/자동 실행을 파일 연결과 혼동하지 마세요.
파일 연결은 어떤 면에서 자동 실행/자동 실행과 비슷합니다. 그러나 자동 실행/자동 실행은 파일 연결에서 제공하는 기능과는 별개의 기능을 제공합니다. 자세한 내용은 자동 실행 사용 CD-ROM 애플리케이션 만들기를 참조하세요.
인터넷 Explorer MIME 데이터베이스를 파일 연결과 혼동하지 마세요.
파일 연결은 Windows Internet Explorer MIME 데이터베이스와 유사합니다. 파일 형식에 MIME 형식 정의가 포함될 수 있고 포함해야 합니다. 그러나 인터넷 Explorer MIME 데이터베이스는 파일 연결과 별개입니다.
적절한 형식 및 버전 관리된 ProgID 사용
ProgID 버전이 하나만 있는 경우에도 항상 버전이 지정된 ProgID를 사용합니다. 버전이 지정된 ProgID는 ProgID 충돌 및 덮어쓰기를 방지하는 데 도움이 됩니다. 또한 다양한 버전의 애플리케이션이 공존할 수 있도록 합니다.
짧은 파일 이름 확장명을 사용하지 마세요.
긴 파일 이름 확장명은 다음과 같은 이점을 제공합니다.
- 짧은 확장의 길이가 제한되어 확장 충돌이 발생하기 쉽 습니다. 확장 충돌은 동일한 확장자를 사용하여 여러 파일 형식을 분류할 때 발생합니다. 긴 확장을 사용하면 충돌 가능성이 크게 줄어듭니다.
- 짧은 파일 이름은 다소 비밀스러운 경향이 있습니다. 확장에 추가 정보를 포함할 수 있으므로 긴 확장이 더 의미 있는 경향이 있습니다.
자세한 내용은 파일 이름 확장명을 참조하세요.
IANA MIME 데이터베이스에 새 파일 형식 등록
IANA(Internet Assigned Numbers Authority)는 등록된 MIME 유형의 공용 데이터베이스를 유지합니다. 새 공용 파일 형식을 정의할 때 파일 형식에 대한 MIME 형식도 정의하고 이 형식을 IANA에 등록하는 것이 좋습니다. 등록 비용은 없습니다.
파일 연결을 위해 Windows 웹 서비스에 등록
애플리케이션 개발자는 사용자가 특정 파일 형식에서 작동할 수 있는 애플리케이션을 찾는 데 사용하는 Windows 웹 서비스에 등록할 수 있습니다. 웹 서비스에 등록하는 프로세스는 Windows 파일 연결 시스템 온보딩 프로세스(KB 929149)에 자세히 설명되어 있습니다.
관련 항목