문제

WIX 설치 파일을 포함 파일 (.WXI)을 사용하여 별도의 부품 (변수, 구성 요소 등)으로 나누는 몇 가지 소스를 발견했습니다. 나에게 완벽하게 이해되므로u003Ccomponents> .wxs 파일에서 노드를 사용하여 별도의 파일에 넣었지만 Visual Studio 2008에서 프로젝트를 컴파일하려고하면 각각에 대한 오류가 발생합니다.u003CComponentRef> 섹션 '제품 : {...}' "에서"Symbol '에 대한 해결되지 않은 참조'입니다.

나는 그것을 사용했다u003C?include "Filename"?> 내 제품에 태그가 있지만 스키마 유효성 검사를 중단하는 것 같습니다. 그것이 포함하는 방법이라면 어디 가야합니까?

내가 가진 파일은 다음과 같습니다.

제품 .WXS

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product ...>
    <Package .../>
    <Media .../>
    <Directory Id="TARGETDIR" Name="SourceDir">
    </Directory>
    <Feature Id="MainProgram" Level="1">
      <ComponentRef Id="ProductComponent" />
      <Feature Id="ContextMenu" Level="2">
        <ComponentRef Id="ContextMenuComponent" />
      </Feature>
    </Feature>
  </Product>
</Wix>

components.wxi

<?xml version="1.0" encoding="utf-8"?>
<Include>
  <Fragment>
    <Component Id="ProductComponent" ...>
      <File .../>
    </Component>
    <Component Id="ContextMenuComponent" ...>
      <RegistryKey .../>
    </Component>
  </Fragment>
</Include>

Visual Studio에서 어떻게 구축해야합니까? 빌드를 스크립팅하는 것은 더 간단 해 보이지만 아직 내 문제는 아닙니다.

도움이 되었습니까?

해결책

포함 파일 포함 파일은 헤더 파일로 생각해야합니다. 여러분은 여러분이 여러분이 공통 변수를 선언하는 데 사용하는 것만으로 만 사용합니다. .wxs 파일.

내 프로젝트는 제품 코드, 업그레이드 코드 등을 정의하는 ~ 10 .wxs 파일과 단일 .wxi를 사용합니다.

내가 무슨 말을하는지에 대한 더 나은 아이디어를 얻으려면 SO 질문을 확인하십시오. Wix 트릭 및 모범 사례 그리고 WIX에는 조각이 포함됩니다 또한 항상 그렇듯이 문서화 wix.chm

다른 팁

WXI 대신 WXS 확장을 사용해보십시오. 나는 광산을 깨고 WXS를 확장자로 사용했으며 방금 작동했습니다. 프로젝트의 모든 WXS 파일은 WixProj에 의해 Wix 컴파일러로 전달됩니다.

이 질문을 내 문제를 찾고있는 것을 발견했고 누군가 내가 한 곳에서 누군가가 왔을 때 수정을 추가 할 것이라고 생각했습니다.

WixProj 파일을 사용하여 Visual Studio에서 컴파일하는 경우이 프로젝트 유형이 파일 링크를 지원하지 않는 것으로 보입니다 (Exising Itment Add as As as Add). 프로젝트의 링크로 끝나지 만 컴파일하면 해결되지 않은 기호가 있다고 불평합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top