2011-10-03 3 views
3

Wix 3에는 서비스가 있는지 여부 만 확인하는 방법이 내장되어 있습니까? 가장 가까운 추측은 ServiceConfig를 사용하고 실패를 감지하는 것입니다.서비스가 있는지 Wix3에서 확인할 수 있습니까?

+1

레지스트리 항목을 확인할 수 있습니다. –

+0

나는 그것을 할 수 있었다. 서비스를 확인하기위한 내장 지원이 있는지 궁금합니다. –

+0

그래, 나는 그것에 대해 모른다. 잘하면 거기있다. 그러나 레지스트리 항목을 확인하는 것이 ServiceConfig 작업보다 쉽습니다. :) –

답변

1

AppSecInc. 커뮤니티 MSI 확장에는 Service_Exists 사용자 지정 작업이 있습니다.
http://msiext.codeplex.com

온라인 문서 :
http://code.dblock.org/Source/msiext/1.2/Docs/_custom_actions_2_system_tools_2_service_impl_8h.html#a6fdcddc7b04a310a368c08726d3be6b3

<Binary Id="SystemTools" SourceFile="$(var.BinDir)\SystemTools.dll" /> 

<CustomAction Id="SetServiceName" Property="SERVICE_NAME" Value="Service1" /> 
<CustomAction Id="ServiceExists" BinaryKey="SystemTools" DllEntry="Service_Exists" Execute="immediate" Return="check" /> 

<InstallExecuteSequence> 
    <Custom Action="SetServiceName" After="InstallFiles">NOT Installed</Custom> 
    <Custom Action="ServiceExists" After="SetServiceName">NOT Installed</Custom> 
</InstallExecuteSequence> 

SERVICE_EXISTS는 "1"서비스가 존재하는 경우, "0", 그렇지 않으면 설정되어 있습니다.