2010-01-29 4 views
5

내가 현재하고있는 프로젝트는 VS2008 배포/설치 프로그램을 WiX로 전환하는 것입니다. WiX는 현재 매우 새로 도입되었습니다. 리소스 프로젝트의 출력을 Resources.dll에 복사하는 코드를 추가했지만 이전 VS2008 설치 관리자 파일 시스템에는 다른 dll과 함께 현재 두 번의 폴드 (en 및 es)를 생성하는 지역화 된 리소스 출력도 있습니다. Resources.resources.dll). 나는 약간의 검색을 했었지만 실제로 이러한 폴더가 존재한다는 것을 알지 못하고 msi에 이러한 폴더를 가져 오는 방법을 찾지 못했을 것입니다.이 작업을 수행하는 가장 좋은 방법은 무엇입니까?WiX로 제작 된 MSI에 위성 어셈블리 (현지화 된 리소스)를 포함하려면 어떻게해야합니까?

답변

6

각 현지화 폴더 (en 및 es)에 대해요소를 Wix 소스에 정의한 다음 위성 어셈블리에 대해 <Component> 개의 요소를 정의하십시오.

즉, 곧바로 입력하십시오!

+0

+1 팁 주셔서 감사합니다. 나는 당신의 대답을 설명하기 위해 새로운 대답을 만들었습니다. –

5

2 개 국어로 나에게 도움이되었습니다. 아래와 같이

나는 프랑스어, 일본어, localeDirectoryFR 및 localeDirectoryJA 추가 :
<Directory Id='TARGETDIR' Name='SourceDir'> 
    <Directory Id='ProgramFilesFolder' Name='PFiles'> 
     <Directory Id='INSTALLDIR' Name='CmisSync'> 
     <Component Id='CmisSync.exe' Guid='bab5a922-b5c4-4958-ab79-5e303b767a61'> 
      <File Id='CmisSync.exe' Name='CmisSync.exe' Source='!(wix.root)\bin\CmisSync.exe' KeyPath='yes' DiskId='1' /> 
     </Component> 
     [... other components ...] 
     <Directory Id='localeDirectoryFR' Name='fr'> 
      <Component Id='localeComponentFR' Guid='01612d5d-6c9d-46e9-96c5-7105bbbea7db'> 
      <CreateFolder /> 
      <File Id='localeFileFR' Name='CmisSync.resources.dll' Source='!(wix.root)\bin\fr\CmisSync.resources.dll' DiskId='1' /> 
      </Component> 
     </Directory> 
     <Directory Id='localeDirectoryJA' Name='ja'> 
      <Component Id='localeComponentJA' Guid='8d77c457-54b0-41d6-9f1c-c91338b25505'> 
      <CreateFolder /> 
      <File Id='localeFileJA' Name='CmisSync.resources.dll' Source='!(wix.root)\bin\ja\CmisSync.resources.dll' DiskId='1' /> 
      </Component> 
     </Directory> 

가 그럼 난 기능에서 그들을 참조 :

<Feature Id='CmisSyncFeature' Title='CmisSync' Description='CmisSync' Level='1' AllowAdvertise='no'> 
    <ComponentRef Id="CmisSync.exe" /> 
    [... other componentrefs ...] 
    <ComponentRef Id="localeComponentFR" /> 
    <ComponentRef Id="localeComponentJA" /> 
</Feature> 

감사 폴 라 론데에 끝을 위해.

관련 문제