2013-06-19 2 views
10

SetProperty에서 페이지를 읽고 여기와 다른 곳에서 찾을 수있는 예제를 살펴본 후에도 여전히 SetProperty를 After 나 Before와 함께 사용할 수 없다. 내 맞춤 작업 ID 중 하나로 설정합니다. 문서는 매우 간단하고 직설적 인 것처럼 보입니다.하지만 행복 대신에 "존재하지 않는 행동으로 MyWonderfulCA"라는 ActionRow를 발견하게되었습니다. 내 코드와 같은 모습의 표현 : 그래서 어쨌든wix SetProperty 애트리뷰트가 커스텀 액션을 취하지 않은 후에 Id

<CustomAction Id="MyWonderfulCA" BinaryKey="MyWonderful.dll" DllEntry="MyWonderfulCA" Execute="immediate" /> 

    <InstallExecuteSequence> 
     <Custom Action="MyWonderfulCA" After="LaunchConditions" /> 
    </InstallExecuteSequence> 

    <Property Id="SOMEPROPERTY" /> 
    <SetProperty Id="SOMEPROPERTY" After="MyWonderfulCA" Value="[SOMEOTHERPROPERTY]the\yellow\brick\road">WEAREHUNKYDORY</SetProperty> 

,

답변

30

잘 모르겠어요,하지만 다음과 같은 일이 의심스러운 ... 당신이 내 유일한 희망이야, 나에게 SOF 윅스 전문가를 저장 .

<SetProperty> (link) 요소는 선택 사항이며 Sequence 특성을 갖는다. 지정하지 않으면 (예 : 게시 한 샘플) both의 값을 얻습니다. 즉, custom action of type 51 (이는 SetProperty로 변환 됨)은 InstallUISequenceInstallExecuteSequence으로 예약됩니다.

그러나 지금까지 볼 수있는 한 MyWonderfulCAInstallExecuteSequence에만 있습니다. 따라서 WiX가 SetPropertyInstallUISequence에 넣으려고하면 After 속성에 지정된 사용자 지정 작업을 찾을 수 없으며 실패합니다.

Sequence='execute'을 명시 적으로 지정하거나 멋진 CA를 두 시퀀스로 예약하여 확인하십시오. 그렇다면이 두 가지 중에서 가장 적절한 방법을 선택하십시오.

+0

빙고 !! 그랬어. 당신은 Yan, Sequence attr을 지적 해 주셔서 고마워요.) – idclaar

+0

:) 그게 도움이 되니 기뻐요 –

+2

와우, 그리고 그게 전부 예에서 여기에서도 분명하지 않습니다. http://wixtoolset.org/documentation/manual/ v3/customactions/qtexec.html 내가 뭘 잘못하고 있는지 궁금해했다. 건배! – berkus