2010-07-23 2 views
5

우리는 소형 하드웨어 제조업체입니다. 우리 제품의 대부분은 사용 된 컨트롤러를 프로그래밍하기 위해 USB를 사용합니다. 하드웨어 (어셈블리 프로세서의 일부)를 프로그래밍하는 것이 오히려 노동 집약적 인 상황입니다. 새 USB 장치를 연결할 때마다 Windows에서 드라이버 설치를 묻는 메시지가 나타납니다. 즉, 각 신제품에 대해 "아니오, 인터넷에 연결하지 마십시오"-> "예, 자동으로 검색"-> "완료"등의 과정을 거쳐야합니다. 우리는 심지어 각 제품에 대해 이것을 두 번해야합니다.사전 설치 WinXP 상호 작용없이 장치를 연결할 수있는 USB 드라이버

나는 Windows 사전 설치 프로그램 (DPInst)을 실험 해봤지만,이 방법은 성공적인 "예, 자동 검색"부분을 촉진하는 것으로 보입니다. USB 장치를 연결 한 후 드라이버를 완전히 자동으로 설치하는 방법이 있습니까?

친절 감사를

답변

4

로널드 내가 5 년 전 같은 문제가 있었다.

가장 큰 문제는 풀어서 장치의 플러그 & 플레이 후 USB 드라이버의 설치가 로컬 시스템 계정에서 작동한다는 것입니다. 보안 문제가 없음 Microsoft는 드라이버 이 (가)로만 서명 한 자동 설치를 허용합니다. Windows Server 2003부터는 문서화 된 방법이 있습니다 (http://www.microsoft.com/whdc/driver/install/authenticode.mspx 참조).

관리되는 회사 환경 (플러그 장치 & 재생 장치를 사용할 컴퓨터를 준비 할 수 있음)이있는 경우 Windows XP에서이 문제를 해결할 수있는 해결 방법이 있습니다. 내 고객 중 한 명에게 5 년 전 제안했습니다. 약 10000 개의 Windows XP 컴퓨터 환경에서 약 5 년 동안 완벽하게 작동합니다.

솔루션에 대한 아이디어는 매우 간단합니다 : (예를 들어 고양이 파일) 당신의 드라이버는

  • 모두 1.3.6.1.5.5.7.3.3 ("코드 서명이있는 서명으로 서명해야 ") 및 1.3.6.1.4.1.311.10.3.6 ("Windows 시스템 구성 요소 확인 ") OK 확장 키 사용 (EKU)
  • 인증서 또는 상위 인증서가 시스템의 루트에 설치되어야 함 루트 (신뢰할 수있는 루트 인증) 또는 AuthRoot (타사 루트 인증 기관) 인증서 저장소

Windows XP 컴퓨터에서이 작업을 수행하면 운영 체제에서 Microsoft 서명 드라이버와 같은 드라이버를 해석합니다.

당신은 드라이버의 소스 경로를 레지스트리에 삽입합니다.

+0

모두 사실이지만 장치가 동일한 유형의 장치 만 다를 경우 어쨌든 두 개 이상의 드라이버 설치가 필요하지 않습니다. –

+0

드라이버를 설치하면 안됩니다. Microsoft 서명으로 서명하고 드라이버 경로를 찾으면 자동 설치가 수행됩니다. 그래서 그것은 당신에게 같은 유형의 다른 단위가 있건 없건간에 그것은 independend 인 것처럼 보입니다. 새 장치는 사용자와 아무런 관계없이 설치됩니다. 그냥 내가 쓴 것을 시험해 보라. 문제가 있다면 MakeCert.exe와 관련하여 자체 서명 된 인증서를 작성하고 내가 작성한 모든 것을 테스트하는 방법을 예제로 게시 할 수 있습니다. – Oleg

+1

입력 해 주셔서 감사합니다. 사용하려는 드라이버가 실제로 서명되었습니다. 그럼에도 불구하고 드라이버 마법사는 입력을 요구합니다. DPInst에서 서명을 인식하지 못했을 수 있습니다. USB 일련 번호를 비활성화하여 해결 방법을 찾았습니다. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ USBFlags \ 키는 다음과 같습니다. IgnoreHwSerNum04306001, 즉 IgnoreHwSerNum {VID} {PID}를 의미합니다. 이 키를 추가하면 드라이버가 설치됩니다. 이 VID/PID를 가진 모든 장치는 동일하게 취급됩니다. 같은 드라이버가 몇 초 안에 연결됩니다. – user399987

7

기기에 고유 한 USB 시리얼 번호가 지정되어있어 각각의 기기는 이전에 보지 못한 새로운 기기로 감지됩니다. http://www.lvr.com/usbfaq.htm에서 그렇다면,이 솔루션은이 경우

:

디바이스 테스트하는 동안, 우리는 일련 번호를 제외하고는 동일 많은 장치를 연결합니다.장치가 일 때마다 Windows가 새로운 드라이버를 설치하지 못하게하려면 어떻게합니까?

아래에 설명 된 방법으로 인해 은 Windows 2000 및 XP에서 장치의 일련 번호를 무시합니다. 테스트 환경 에만 권장되는 것은 입니다. Windows가 사용 또는 장치 일련 번호 무시 여부를

이 레지스트리 키 컨트롤 :

[HKEY_LOCAL_MACHINE을 \ 시스템 \ CURRENTCONTROLSET \ 컨트롤 \ UsbFlags]

그것은이 방법하지만, 모든 일련 번호를 무시하는 것이 가능 아니요 을 권장합니다. 모든 직렬 번호를 무시하도록, 상기 키 제로이 값을 변경

GlobalDisableSerNumGen에게 = 1

개별 장치의 일련 번호를 무시하도록, 상기 아래 항목 을 만들 .. . \ UsbFlags 키. 이름은 "IgnoreHWSerNum" 으로 시작해야하며 장치의 공급 업체 및 제품 ID는 입니다. 값 1 = " 일련 번호 비활성화."

예 (벤더 ID = 0925h, 제품 ID = 016Ah)

IgnoreHWSerNum0925016A = 1

대안 하드웨어/펌웨어 용액 제조시 장치 USB 시리얼 번호를 해제하는 (예와 링크, 가능하면 테스트 픽스처로 만든 링크). USB 일련 번호가 없으면 Windows는 연결 트리의 위치에 따라 장치에 의사 일련 번호를 할당합니다. 생산 실행 중에는 변경 될 가능성이 없기 때문에 모든 장치가 동일하게 취급되고 Windows는 새 드라이버 물건을 신경 쓰지 않을 것입니다.

관련 문제