2011-10-25 5 views
2

도움이 될 것입니다.WIX MSI - PROPERTY 우선 적용 우선 적용

우리 서버에 웹 응용 프로그램을 설치하기 위해 MSI를 얻으려면이 WIX 설치 관리자를 쓰고 있습니다.

내 앱 내에 'PRODERTY - WEBDIR'속성이 있습니다. 나중에이 속성을 내 코드에서 Directory ID로 사용합니다.

세 가지 방법으로이 속성을 설정했습니다.

  1. (방법 'A') quiet 모드에서 msiexec를 호출 할 때 전달되는 속성입니다. [C로 여기 설정 : Path1을 \]과 같이 :

    msiexec /quiet /i My.msi WEBDIR="C:\Path1" /l*v InstallationLog.log 
    
  2. (방법 'B')를 IniFileSearch에서. C : \ Windows의 ini 파일에 MySetup.ini라는 WebsitesDir 키가 C : \ Path2 값을 해석하는 곳이 있습니다. [C로 여기 설정 : 경로 2 \] :

    <Property Id="WEBDIR"> 
        <IniFileSearch Id="WebsitesDirIni" Name="MySetup.ini" Section="InstallLocations" Key="WebsitesDir" Type="raw"/> 
    </Property> 
    
  3. (방법 'C')의 기본 디렉토리 구조를 사용. [C로 여기 설정 : 경로 3 \] 다음과 같이

    <Directory Id="TARGETDIR" Name="SourceDir"> 
        <Directory Id="WEBDIR" Name="Path3"> 
        </Directory> 
    </Directory> 
    
  4. 가 현재 작동하는 방법은 같다

은 다음과 같습니다 이 - 방법 'A', 'B'와 'C'모두를 설정하면 속성 값, B가 우선 적용됩니다. - 메서드 'A'및 'C'만 속성 값을 설정하면 'C'가 우선 적용됩니다.

우선 순위를 'A'로 설정할 수 있습니다. 'A'이면 'B', 그렇지 않으면 'C'.

이것이 가능합니까?

답변

0

아니요, 불가능합니다. 순서를 제어하려는 경우 가장 좋은 방법은 immediate custom action입니다. 설치 프로그램 속성을 설정해야하므로 사용자 지정 작업은 설치 핸들을 받아야합니다 (win32 DLL 권장).

  1. 명령 행 값이 재산
  2. 디렉토리 행 명령 행 값을 오버라이드 (override), 최초의 폴더 경로를 설정 초기화 :

    정상적인 상황에서는 설치 프로그램은이 순서를 사용합니다. 이 경로는 나중에 원가 계산 작업 (CostFinalize)을 통해 수정할 수 있습니다.
  3. 검색은 초기 폴더 경로를 무시하지만 원가 계산 작업으로 재정의 될 수 있습니다.
관련 문제