2010-04-22 3 views
3

MSI 파일을 생성하는 데 MSBuild를 사용하는 WiX 설치 프로그램 프로젝트가 있습니다.방화벽 확장을 사용하는 WiX 설치 프로그램을 현지화하십시오

xmlns:fire="http://schemas.microsoft.com/wix/FirewallExtension" 

내가 MSBuild를 두 문화를 정의한 다음과 같은 정의와 파일 :

<PropertyGroup> 
    ... 
    <Cultures>en-us;no-no</Cultures> 
</PropertyGroup> 

을 나는 또한 추가 한 번역 자원 :

WXS 파일은 윅스 방화벽 확장이 포함
<ItemGroup> 
    <EmbeddedResource Include="lang\Firewall_no-no.wxl" /> 
    <EmbeddedResource Include="lang\WixUI_no-no.wxl" /> 
</ItemGroup> 

방화벽 확장 및 WixUI 확장에 대한 노르웨이어 번역을 나타냅니다. 내가 빌드를 실행하면 그것은 EN-US 부분 성공하지만, 더 노 제품은 또한 다음과 같은 오류 메시지와 함께 실패하지 않습니다 : 문제의

C:\delivery\Dev\wix30_public\src\ext\FirewallExtension\wixlib\FirewallExtension.wxs(19): 
error LGHT0102: The localization variable !(loc.WixSchedFirewallExceptionsInstall) 
is unknown. Please ensure the variable is defined. 
.... 

커플이 다음 C:\delivery 디렉토리가 어디에서 오는지 모르겠어요. 나는 그런 디렉토리가 없다. 오류 메시지에서 언급 된 지역화 변수는 Firewall_no-no.wxl 파일에서 번역되었습니다.

내가 바로 오류 메시지 전에 다음과 같은 출력을 참조 자세한 정보와 함께 MSBuild를 실행하면 : 세부 쇼로

Task "Light" 
    Command: 
    C:\Program Files (x86)\Windows Installer XML v3\bin\Light.exe -cultures:no-no 
    -ext "C:\Program Files (x86)\Windows Installer XML v3\bin\WixUIExtension.dll" 
    -ext "C:\Program Files (x86)\Windows I nstaller XML v3\bin\WixUtilExtension.dll" 
    -ext "C:\Program Files (x86)\Windows Installer XML v3\bin\WixFirewallExtension.dll" 
    -loc lang\Firewall_no-no.wxl -loc lang\WixUI_no-no.wxl 
    -out F:\Projects\MyProd\MyProj\Installer\bin\Debug\no-no\MyInstaller.msi 
    -pdbout F:\Projects\MyProd\MyProj\Installer\bin\Debug\no-no\MyInstaller.wixpdb 
    obj\Debug\MyProj.wixobj 

, 빛 실행 파일이 개 -loc 매개 변수를 가지고있는 MSBuild에서의 작업 결과. 그게이 문제의 원인인지 확실하지 않습니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

답변

2

이 오류의 원인은 매우 간단합니다. WixLocalization 태그의 Culture="no-no" 속성을 변경하지 않았으므로 예외가 있습니다. 이 값을 설정하면 오류가 사라집니다.

관련 문제