2013-07-09 6 views
1

내 .wxs 파일에 다음 파일 선언이 있습니다. 이 파일은 이미 설치 디렉토리에 있습니다. 원본 디렉터리에서 복사되지 않습니다. 설치 중에 util : XmlConfig를 사용하여 업데이트해야합니다. XmlConfig 부분이 작동 중입니다.Wix에서 이미 설치 디렉토리에있는 파일에 대한 파일 소스 하드 코딩을 피할 수 있습니까?

<File Id="AppConfig" Name="Dynamics.exe.config" Source="C:\Program Files (x86)\Microsoft Dynamics\GP2010\Dynamics.exe.config" /> 

문제는 파일이 항상 같은 위치에 있다고 가정 할 수 없다는 것입니다. 정말 간단과 같이이를 참조 싶습니다

<File Id="AppConfig" Name="[#INSTALLDIR]\Dynamics.exe.config" /> 

을하지만, 다음과 같은 메시지와 함께 실패한다 :

> light.exe .... 
The system cannot find the file 'SourceDir\....\[#INSTALLDIR]\Dynamics.exe.config' 

어떻게 내가 말할 수있는 "파일이 이미 설치 디렉토리, 사용에 존재 그 파일을 설치하는 동안, 지금은 그것을 확인하지 않습니까? "

답변

0

디렉터리는 대괄호 표기법으로 일반 특성 인 것처럼 사용할 수 있습니다. 당신이 Dynamics.exe.config를 설치하지만, 단지 XmlConfig 요소에 액세스 할 필요가없는 경우, 당신은 단순히 디렉토리를 참조 할 수 있으며, File 요소와 귀찮게 할 필요가 없습니다 :

<Component Id="Dynamics.exe.config" KeyPath="yes" Guid="*"> 
    <util:XmlConfig Id="Dynamics.exe.config.XmlConfig1" 
        On="install" 
        Action="..." 
        File="[INSTALLDIR]\Dynamics.exe.config" 
        ... 
        /> 
    <util:XmlConfig Id="Dynamics.exe.config.XmlConfig2" 
        On="install" 
        Action="..." 
        File="[INSTALLDIR]\Dynamics.exe.config" 
        ... 
        /> 
</Component>