2012-09-11 3 views
0

사용자가 자신의 컴퓨터에 설치할 수있는 많은 기능을 설치하는 MSI 패키지가 있습니다. 또한 일부 구성 요소를 업데이트하고 응용 프로그램의 일부 버그를 수정하는 MSP 패치 패키지가 있습니다. 패치 설치 중에 ADDLOCAL 속성이 CostFinalize 작업 동안 모든 기능을 포함하는 목록에 자동으로 설정되는 것으로 나타났습니다.패치 도중 ADDLOCAL 속성이 설정됩니다.

"CostFinalize"작업이 ADDLOCAL 속성을 설정하는 이유와 모든 "부재"기능으로 설정하는 이유를 알고 싶습니다.

내 문제는 패치가 모든 것을 설치하고 있다는 것입니다. 정말 이에 대한 설명을 찾을 수 없으므로 도움을 주시면 대단히 감사하겠습니다.

편집 : 같은 문제에 링크 : here

답변

1

이미 this problem를 해결하기 위해 노력했다. 그 때 사용자는 REINSTALL 속성에 사용자가 설치 한 기능을 보유하고 있음을 알았습니다.

그런 다음 ADDLOCAL이 값을 할당하는 간단한 트릭 도움이 될 것입니다

<CustomAction Id="CopyReinstallToADDLOCAL" 
     Property="ADDLOCAL" Value="[REINSTALL]" 
/> 
<InstallExecuteSequence> 
    <Custom Action="RCopyReinstallToADDLOCAL" Before="CostFinalize"> 
     <![CDATA[PATCH]]> 
    </Custom> 
</InstallExecuteSequence> 
+0

문제는 유사하지만 동일하지 않습니다. 이 수정은 CostFinalize 작업이 ADDLOCAL 속성을 직접 설정하기 때문에 이번에는 작동하지 않습니다. ADDLOCAL 속성을 변경할 수있는 방법은 없습니다. 왜냐하면 내가하는 일과 상관없이 CostFinalize 액션은 항상 원하는대로 설정하기 때문입니다. 패치가 모든 것을 설치하려고하는 이유에 대한 설명이 있어야합니다. 그러나 찾을 수없는 것 같습니다. 같은 문제가있는 사람과 링크를 추가했습니다. – Herno

+0

[링크 된 예제] (http://us.generation-nt.com/patching-new-component-causes-addlocal-get-set-help-37009292.html) : 패치는 새로운 구성 요소를 추가합니다 설치된 기능과 설치되지 않은 기능 모두 이는 'CostFinalize'가 두 기능을 모두 설치해야한다고 생각하는 이유 일 수 있습니다. –

+0

알렉세이의 대답을보기 전에 Type 1 맞춤 작업을 사용하려고했습니다. 그의 접근 방식은 훌륭했습니다. 이후 패치에 적용되었습니다. – Petronius

관련 문제