2013-07-02 1 views
0

설치 프로그램이 WIX에 내장되어 있습니다. 설치에는 두 가지 경로가 필요하며 그 중 하나에는 서비스 설치가 포함됩니다.설치 유형/수준에서 사용자 지정 작업 실행

서비스는 Topshelf로 작성되어 있으므로 사용자 정의 액션을 사용하여 설치해야합니다. 우리가 할 수있는 방법을 알 수없는 것은 특정 설치 유형이나 레벨에 대해서만 사용자 지정 작업을 실행하는 것입니다.

<CustomAction Id="ConfigureInstallSyncClient" Property="InstallSyncClient" Value='"[InstallDirectory]Sync.Client.WindowsService.exe" install' Execute="immediate"/> 
<CustomAction Id="InstallSyncClient" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check" Impersonate="no"/> 


<InstallExecuteSequence> 
    <Custom Action="ConfigureInstallSyncClient" Before="StartServices">NOT (REMOVE ~= "ALL")</Custom> 
    <Custom Action="InstallSyncClient" After="ConfigureInstallSyncClient">NOT (REMOVE ~= "ALL")</Custom> 
</InstallExecuteSequence> 

우리가하는 일. 서비스를 설치하려고하지만 서비스를 설치하지 않을 때 작동하지 않을 때 작동합니다.

답변

0

사용자 지정 작업 조건에 Feature 요소를 사용하여 사용자 지정 작업 관련 파일을 설치하거나 제거 할 수 있습니다.

예를 들어 Feature_InstallSyncClient이라는 기능 아래에 사용자 지정 작업 관련 구성 요소를 나열한 경우 사용자 지정 동작은 아래와 같아야합니다.

<Custom Action="InstallSyncClient" After="ConfigureInstallSyncClient">NOT (REMOVE ~= "ALL") AND (&Feature_InstallSyncClient = 3)</Custom> 

자세한 내용은 this MSDN document에서 확인하십시오.

+1

구성 요소 상태를 대신 사용할 수있는 경우 조건에서 기능 상태를 사용하지 마십시오. –