2014-02-06 2 views
1

자체 번들을 설치하기 전에 관련 번들을 제거해야하는 응용 프로그램이 있습니다. 제대로 감지하고 OnPlanRelatedBundle()의 Absent 상태로 설정하지만 새 패키지를 설치하기 전까지는 제거되지 않습니다. 메인 번들 이전에 관련 번들 동작을 설정하는 방법이 있습니까? 뒤에 코드에서 일정 RelatedBundle 기본 번들 이전 작업

<RelatedBundle Action="Detect" Id="the-other-id" /> 

, 나는

private void OnPlanRelatedBundle(object sender, PlanRelatedBundleEventArgs args) 
{ 
    // If we've detected the related app, we want to schedule it to be uninstalled (State = Absent) 
    if (args.BundleId == m_relatedBundleId) 
    { 
     args.State = RequestState.Absent; 
    } 
} 

답변

1

오늘 검색 관련 번들

private void OnDetectedRelatedBundle(object sender, DetectRelatedBundleEventArgs e) 
{ 
    if (e.Operation == RelatedOperation.None && e.RelationType == RelationType.Detect) 
    { 
     // If the other app is installed, we want to save the product code, 
     // so we can uninstall it like we were upgrading it 
     m_relatedBundleId = e.ProductCode; 
    } 
} 

및 계획 관련 번들에 대해 다음있어, 애프터 관련된 모든 번들 행동 현재 번들의 동작. 다른 스케줄링을 제공하는 유스 케이스가 있다면 http://wixtoolset.org/issues/에 기능 요청을 엽니 다.