2011-02-11 7 views
1

wix에 시작 조건을 추가하여 시스템에서 HTTP 활성화가 활성화되어 있는지 확인하려고합니다. 활성화 된 경우 또는 활성화되지 않은 경우에 따라 ActionResult.Failure 또는 ActionResult.Success을 반환하는 관리되는 사용자 지정 작업을 만들었습니다.Wix 추가 시작 조건

내 생각에 액션을 실행하여 LaunchConditions 작업 전에 사용자 지정 작업을 호출하고 이에 따라 제품 조건을 설정하는 것이 좋습니다.

누구에게 알리면 작동합니까? 아니면 더 나은 해결책이 있다면?

답변

4

HTTP 활성화를 사용하는 경우 사용자 지정 동작이 특정 속성을 설정해야한다고 말합니다. 그리고 실행 조건은 해당 속성이 정의되어 있는지 여부를 확인하여 설치가 더 진행되거나 종료되도록합니다.

즉, ActionResult.Failure를 반환하는 CA를 실패 할 필요가 없습니다. 속성을 설정하고 LaunchConditions 작업을 수행하게하십시오.

+0

동의. 실패한 조치는 묵시 요구 사항 (조건부로 설치 프로그램을 중단 함)을 만족 시키지만 설치 담당자가이를 수정하는 방법을 알려주지는 않습니다. 실행 조건에서 속성 및 조건을 설정하는 것이 훨씬 좋으며 메시지가 포함 된 19 "오류"CA를 입력하십시오. –

0

HTTP 정품 인증으로 가정 할 때 Windows Communication Foundation HTTP 정품 인증을 의미합니다. 그 말로 ...

사용자 지정 작업 대신 Yan에 설명 된대로 레지스트리 항목을 사용하여 속성을 설정할 수 있습니까? IIS6 메타베이스 호환성을 위해 예를 들어 내가 사용

<Condition Message="IIS6 or IIS 7 is required. If you are running IIS7 the IIS 6 Metabase Compatibility Feature must be installed."> 
    <![CDATA[IISMAJORVERSION="#6" OR (IISMAJORVERSION="#7" AND (IIS_METABASE_COMPAT OR IIS_METABASE_COMPAT_X64))]]> 
</Condition> 

난에서 키를 찾을 :

<Property Id="IIS_METABASE_COMPAT"> 
    <RegistrySearch Id="CheckIisMetabase" 
        Root="HKLM" 
        Key="SOFTWARE\Microsoft\InetStp\Components" 
        Name="Metabase" 
        Type="raw" 
        Win64="no" /> 
</Property> 

그리고 시작 조건에 대한

(위가 시작 조건의 여러 호텔 중 한 곳입니다) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\Windows Communication Foundation\HTTPActivation 이 목적을 위해 유용 할 수도 있고 그렇지 않을 수도 있습니다. 또한 유용 할 수도있는 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\Windows Communication Foundation에 InstallSuccess라는 REG_DWORD가 있습니다.

이 중 하나에 대한 설명서를 찾을 수 없지만 InstallSuccess REG_DWORD에 대한 값이 (1)이고 둘 다 설치되어 있으며 HTTPActivation 키가 있습니다.

관련 문제