32 비트 및 64 비트 버전의 타사 라이브러리가 포함 된 설치 프로그램이 있습니다. 라이브러리에는 동일한 파일 이름의 32 비트 및 64 비트 폴더가 제공됩니다. 내가 한 일은 파일 이름이 32/64라는 고유 한 이름으로 변경되어 설치 프로그램에 둘 다 포함될 수 있습니다. FILE
태그를 설정하여 파일을 조건부로 포함 시키려고하지만 기본 이름 인 efxzlib.dll로 다시 이름을 바꿉니다.조건부로 파일을 포함하고 이름을 바꿉니다.
파일로 가능합니까? File
의 Name
특성은 설치 시간이 아닌 빌드시 파일의 이름을 바꾸는 것처럼 보입니다. 이 DLL은 유일한 32/64 구성 요소이기 때문에 별도의 32 비트 및 64 비트 설치 프로그램을 피하려고합니다. 이 기능은 Managed Custom Action으로 가장 잘 수행됩니까?
<Component Id="CMP_EFX_ZLIB_32BIt" Guid="MY_GUID1">
<Condition>
<![CDATA[NOT(VersionNT64)]]>
</Condition>
<File Id="FILE_EFX_ZLIB_32BIt" KeyPath="yes" Source="$(var.EFX5LibraryBase32bit)\efxzlib32.dll" Name="efxzlib.dll" />
</Component>
<Component Id="CMP_EFX_ZLIB_64BIt" Guid="{MY_GUID2}">
<Condition>
<![CDATA[VersionNT64]]>
</Condition>
<File Id="FILE_EFX_ZLIB_64BIt" KeyPath="yes" Source="$(var.EFX5LibraryBase64bit)\efxzlib64.dll" Name="efxzlib.dll" />
</Component>
견본은 좋아 보인다. 무엇이 그것으로 작동하지 않습니까? –
wix는 두 파일 모두를 사용하여 설치 패키지를 빌드합니다. 이름이 같으므로 그 중 하나를 덮어 씁니다. 두 파일을 설치 프로그램에 32/64.dll로 설치하고 두 개 중 하나만 설치하고 파일의 이름을 변경하십시오. –