2010-01-12 6 views
4

Visual Studio를 사용하여 wix 파일을 만듭니다. 지금까지 하나의 파일 Product.wxs가 있고 간단한 설치를 위해 노력하고 있습니다.VisualStudio 환경에서 WIX에 첫 번째 사용자 지정 대화 상자 추가

이제 맞춤 대화 상자를 추가하고 싶습니다.

http://blog.torresdal.net/2008/10/24/WiXAndDTFUsingACustomActionToListAvailableWebSitesOnIIS.aspx 나는 소스를 다운로드 http://www.merlinia.com/mdt/WiXTutorial2.msl

을, 나는 35 참조 *에 파일을 .wxs : 나는 내 환경 설정 취득 후 - 나는 그것을 할 방법을 이해, 아래 두 개의 기사에서 생각 이 디렉토리 wix35-sources.zip \ src \ ext \ UIExtension \ wixlib

이것은 내가 잃어 버리기 시작한 곳입니다.

  1. 일부 파일 (변경하려는 파일 만 해당) 또는 모든 파일을 Visual Studio 프로젝트에 복사해야합니까? 지금까지는이 소스 파일을 가지고 실행 해 보지 않았습니다.

  2. 내 Product.wxs는 이러한 파일을 어떻게 사용합니까? 먼저 로컬 디렉토리를 살펴 보았습니까? 또는 일부 C# 모듈을 다시 빌드해야합니까?

나는 나의 Product.wxs에서이 라인을 포함, 그것은 나에게 실행시 사용자 인터페이스 주었다

<UIRef Id="WixUI_Mondo" /> 
    <UIRef Id="WixUI_ErrorProgressText" /> 

감사합니다,

답변

5

해야합니까를 일부 (변경하고 싶은 것만) 또는이 모든 파일을 내 Visual Studio 프로젝트 에 복사해야합니다. 지금까지는이 소스 파일을 가지고 실행 해 보지 않았습니다.

이미 WixUI_Mondo을 사용하고 있으므로 해당 UI를 맞춤 설정한다고 가정합니다. wix 소스에서 WixUI_Mondo.wxs을 찾아서 Visual Studio 프로젝트에 복사하십시오. 파일 이름을 WixUI_MyCustomUI.wxs으로 바꾼 다음 파일 내부의 UI Id 특성을 Id="WixUI_MyCustomUI"으로 변경하십시오. 아직 다른 파일을 복사 할 필요가 없습니다. 복사 된 UI 시퀀스에서 참조되는 대화 상자는 리소스로 wix 도구로 컴파일되므로 wix는 이러한 대화 상자를 이름으로 "알 수 있습니다."

product.wxs 파일에서 UI 참조를 <UIRef Id="WixUI_MyCustomUI" />으로 변경하십시오. 이제 설정을 다시 작성한 경우 UI가 아직 사용자 정의되지 않았으므로 UI는 WixUI_Mondo으로 정확하게 보입니다.

제대로 작동했다면 대화 상자를 맞춤 설정하거나 추가하고 싶을 것입니다. 다시 말하지만, 기존 대화 상자에서 시작하여 wix 소스에서 복사 할 수 있습니다. 또한 새 대화 상자를 사용하도록 WixUI_MyCustomUI.wxs 파일을 편집해야합니다. 예를 들어 쓴 other answer을보십시오.

Product.wxs는 이러한 파일을 어떻게 사용합니까? 로컬 디렉토리를 먼저 봅니까? 아니면 일부 C# 모듈을 다시 빌드해야합니까?

C# 모듈을 다시 빌드하지 않았습니다.wix 소스를 다운로드 한 유일한 이유는 기존 UI 시퀀스와 대화 상자가 좋은 예제이기 때문입니다. 원칙적으로 wix 소스를 무시하고 UI 시퀀스와 대화 상자 정의를위한 wxs 파일을 처음부터 작성할 수 있습니다.

명령 줄 도구를 사용하면 여러 파일 인수를 전달하기 만하면 여러 wxs 파일을 결합하고 컴파일 및 연결됩니다. Visual Studio에서 wix를 사용한다면 wxs 파일을 프로젝트에 추가하기 만하면됩니다. 중요하지 않은 wix 설정은 일반적으로 많은 wxs 파일에 의해 정의됩니다.

WXS 파일의 내용 수있는 요소를 통해 다른 WXS 파일의 요소에 대한 참조 컨테이너 등 UIRef, ComponentRef, ComponentGroupRef, DirectoryRef 등등.

+0

정확하고 유용합니다. –

+0

명확한 설명 주셔서 감사합니다. 파일을 복사하고 이름을 바꾸고 ID를 업데이트 한 첫 번째 빌드에서 오류가 발생했습니다 : LGHT0094 : 'Product : {guid ...}'섹션의 'WixUI : WixUI_WCFCustomUI'기호에 대한 참조가 확인되지 않았습니다. 이미 Visual Studio 프로젝트 참조를 가졌습니다. Mondo를 작동 시키려면 WixUIExtension으로. – NealWalters

+0

wxs 파일을 비주얼 스튜디오 프로젝트에 추가 했습니까? 이 오류는 복사 된 wxs 파일이 프로젝트에 추가되지 않았거나 UI 및 UIRef 요소의 Id가 일치하지 않음을 나타냅니다. –

관련 문제