장치 드라이버에 서명했습니다. 서명 요구 사항은 Windows 10 및 Windows 7에 따라 다르므로 두 세트의 드라이버 파일이 있습니다.Windows 10 및 Windows 7 용으로 다른 파일 설치
하나의 .wxs
파일을 사용하고 설치 프로그램에서 설치중인 Windows의 버전에 따라 파일 세트를 선택하도록하십시오. 단순함을 위해 Win 10에 VersionNT >= 603
을, Windows 7에 VersionNT < 603
을 사용하고 있습니다. 지금은 이전 버전의 Windows 또는 Server 버전을 고려하지 않습니다.
내가 한 것은 각각 고유 한 이름과 GUID를 가진 두 개의 Wix <Components>
을 만드는 것입니다. <Component>
내에서 내가 가진 :
<!-- Pre-Win 10 -->
<difx:Driver AddRemovePrograms="no" DeleteFiles="yes" ForceInstall="no" Legacy="no" PlugAndPlayPrompt="no" />
<Condition><![CDATA[(VersionNT64 < 603)]]></Condition>
<File ....
또는
<!-- Win 10 -->
<difx:Driver AddRemovePrograms="no" DeleteFiles="yes" ForceInstall="no" Legacy="no" PlugAndPlayPrompt="no" />
<Condition><![CDATA[(VersionNT64 >= 603)]]></Condition>
<File ....
가 그럼 난 기능에서 두 구성 요소에 대한
<ComponentRef>
있습니다. 나는 두 가지 조건이 상호 배타적 알고 있지만, 나는 청소하고 싶습니다이 경우
C:\Users\me\Documents\src\Product\installer\Product.wxs(103,0): warning LGHT1076: ICE30: The target file 'driver.sys' might be installed in '[ProgramFiles64Folder]\Vendor\brbq3-yp\drivers\so-utx6z\' by two different conditionalized components on an SFN system: 'win10_driver' and 'win7_driver'. If the conditions are not mutually exclusive, this will break the component reference counting system.
:
이 컴파일하지만 각 .sys
, .cat
에 대한 경고를 제공하고, 형태의 .inf
경고.
두 개의 .msi
패키지를 만들지 않고도 상호 배타적 인 드라이버 파일 세트를 더 깔끔하게 설치할 수있는 사람이 누구도 좋습니다.
감사합니다. 그건 적어도 경고를 없애 버린다. 나는 여전히 코드를 작성하는 더 좋은 방법이 없는지 궁금해. – Daniel