2012-01-09 8 views
1

설치를 계속하기 전에 일부 서비스가 시스템에 이미 설치되어 있는지 확인해야합니다. 즉, 내가 추가했습니다조건에 사용자 지정 동작을 사용하는 방법?

<Condition Message="Svc must be installed"> 
    Installed OR SVC_V1 
</Condition> 

그러나 Svc가 Windows 서비스이기 때문에 사용자 지정 작업을 통해서만 설치되었는지 확인할 수 있습니다. 이 조건에서 CA를 어떻게 사용할 수 있습니까?

답변

1

실제로 서비스를 검색하기 위해 사용자 지정 작업이 필요하지 않습니다. 그러나 그 레지스트리 읽기 권한이 필요

<Property Id="SVC_V1"> 
    <RegistrySearch Id='RegSampleService' 
        Type='raw' 
        Root='HKLM' 
        Name='ImagePath' 
        Key="SYSTEM\CurrentControlSet\services\YourService" /> 
</Property> 

참고 : 서비스 그래서 당신은 RegistrySearch을 사용할 수 있습니다 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\에 등록하세요.

+0

나는 일반적으로 사용자 지정 작업을 사용했습니다. 서비스가 자동으로 설정되어 있는지, 실행되고 있는지를 알고 싶었 기 때문입니다. –

+0

사실이지만 그는 "일부 서비스가 이미 설치되어 있는지 확인"을 요청했습니다. – KMoraz

+0

예, 이해합니다. 그러나 방어 프로그래머이기 때문에 보통 누군가이 질문을하면 실제로 실행중인 서비스에 의존하고 있음을 의미합니다. 예를 들어, mssqlserver가 있는지 또는 실행 중인지 확인하는 것은 설치 프로그램에 큰 영향을줍니다. –

2

사용자 지정 동작은 조건을 평가하는 데 사용할 수있는 속성을 설정합니다.

관련 문제