2009-08-27 2 views
1

작성한 애플리케이션에 플러그인 (또는 부가 기능)을 설치해야합니다. 나는 응용 프로그램의 설치 관리자를 위해 WiX 사용자입니다. 플러그인은 내 생각에 애플리케이션의 선택적 부분입니다. 응용 프로그램의 파일 시스템 구조에 통합해야하지만 원래 응용 프로그램의 설치 프로그램을 제어 할 수없는 사람이 나중에도 추가 할 수 있습니다. 그래서 WiX의 모든 상자 메커니즘이 부적절하다는 것을 알았습니다. 작고/사소한/주요한 업데이트 나 패치 메커니즘이 이전 문구에 설명 된 전제 조건에 맞지 않는 것 같습니다. 그래서 나에게 가장 좋은 방법은 원래 설치 관리자가 플러그인을 설치할 위치를 지정하는 레지스트리 항목을 남겨두고 플러그인에 대해 별도의 설치 프로그램을 작성하는 것입니다. 어떤 질문을 열어 놓았는지, 제거를 어떻게 진행할 것인가,하지만 나중에 다룰 수있는 문제입니다. 누군가 더 좋은 아이디어가 있습니까? WiX에서 특별히 알지 못하는 메커니즘이 있습니까? 당신의 조언을 Thnx을 N-남자는WiX로 플러그인 또는 애드온을 설치하는 방법

답변

0

그래서 나는 나를 플러그인을 설치할 위치를 원래의 설치가 어떤 식 으로든 에 레지스트리 항목의 지정을 떠나게 이다 최선의 방법을 찾아 플러그인 용 설치 관리자를 별도로 만드십시오.

예, 저는 이것이 표준 접근 방식이라고 생각합니다.

<Registry Id='WritePluginsLoc' 
    Root='HKLM' 
    Key='Software\Acme\Foo 1.x' 
    Name='PluginsLocation' 
    Type='string' 
    Action='write' 
    Value='[PLUGINSFOLDER]' /> 

플러그인 설치 다음과 같이 레지스트리 항목을 검색 할 수 있습니다 :

<Property Id="PLUGINSFOLDER"> 
    <RegistrySearch Id='PluginsLocationSearch' 
    Root='HKLM' 
    Key='Software\Acme\Foo 1.x' 
    Name='PluginsLocation' 
    Type='raw' /> 
</Property> 

를 자동으로 제거 플러그 기본 응용 프로그램 설치 프로그램은 다음과 같이 플러그인을 설치 위치에 대한 레지스트리 항목을 남길 수 있습니다 당신은 사용자 정의 제거 프로그램 exe를 작성해야 할 것 같아요 주요 제품과 함께. 이 exe는 플러그 인 MSI 제품 코드를 찾는 방법을 알아야하고 각각에 대해 msiexec /x을 호출합니다.

3

레지스트리 키는이를 해결하는 데 널리 사용되는 방법입니다. 플러그 인 디렉토리를 만드는 Windows Installer 중심의 방법은 구성 요소를 사용하여 플러그인 디렉토리를 만들고 다른 사용자가 Component/@ Guid에 ComponentSearch를 사용하게하는 것입니다.

제거 프로그램을 관리하는 외부 부트 스트 래퍼/체인 커없이 앱과 동시에 플러그인을 제거하는 것은 어려울 수 있습니다. 플러그 인의 제거를 응용 프로그램에서 완전히 분리하여 별도로 제거 할 수 있습니다.