2012-02-24 5 views
0

외부 CAB 파일에서 버전없는 파일을 설치하는 WIX 설치 프로그램이 있습니다.WIX : 별도의 cab 파일에서 버전없는 파일 업그레이드

제 문제는 버전없는 파일을 올바르게 업그레이드하려면 InstallInitialize 전에 RemoveExistingProducts가 필요하다는 것입니다. 그러나, 그것은 외부 cab 파일과 함께 밖으로 괴롭히는 것, 그리고 파일이 CAB 파일에 없다는 오류를 계속 제공합니다.

<Media Id="2" Cabinet="Videos.cab" EmbedCab="no" CompressionLevel="none" /> 

...

:

RemoveExistingProducts이 InstallExecute 이후 인 경우는 CAB 처음 파일과 올바른 설치하지만 업그레이드 아래

동안 파일을 업그레이드하지 않습니다 어떤 조각입니다

<Component Id="Video01" Guid="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" DiskId="2" > 
    <File Id="Video01.wmv" DiskId="2" Vital="no" Source="BLAH.wmv" Name="Video01.wmv"/> 
</Component> 

...

<InstallExecuteSequence> 
    <Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWERPRODUCTFOUND</Custom> 
    <!--<RemoveExistingProducts After="InstallExecute" />--> 
    <RemoveExistingProducts Before="InstallInitialize" /> 
</InstallExecuteSequence> 

답변

0

파일의 DefaultVersion 특성을 설정하고 InstallExecute 후에 RemoveExisingProducts를 추가하십시오. MSDN에 명시된 바와 같이 :

Versioned Files Win—A versioned file gets installed over a nonversioned file. 
관련 문제