2013-07-03 1 views
0

최종 사용자의 컴퓨터에있는 파일을 원하는 위치로 이동하려는 WiX 설치 관리자를 만들고 있습니다. 그러나 CopyFile이 작동하지 않고 로그 파일에 오류가 표시되지 않습니다.CopyFile not working

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="ProgramFilesFolder"> 
    <Directory Id="INSTALLFOLDER" Name="Remindex"> 
    </Directory> 
    </Directory> 
    <Directory Id="DATALOCATION" Name="File"/> 
    <Directory Id="ORIGINALDATA"/> 
</Directory> 

그리고 내 CopyFile 수 구성 요소 :

<DirectoryRef Id="TARGETDIR"> 
    <Component Id="CMP_Data" Guid="{C35F8888-D868-4B18-991E-29E217EFE445}" KeyPath="yes"> 
    <CopyFile Id="CopyData" 
       DestinationDirectory="DATALOCATION" 
       DestinationName="Remindex Local Data" 
       SourceProperty="ORIGINALDATA" 
       SourceName="Remindex Local Data" 
       Delete="yes"/> 
    </Component> 
</DirectoryRef> 

DATALOCATION는 사용자가 PathEdit 대화 상자에서 선택하는 경로를 포함하는 속성입니다

여기 내 디렉토리 트리입니다. ORIGINALDATA는 이동할 파일의 원래 위치입니다. 따라서 파일을 ORIGINALDATA에서 DATALOCATION으로 이동해야합니다. 그러나 아무 일도 일어나지 않습니다. ORIGINALDATA를 SourceDirectory 및 SourceProperty 특성에 넣어 보았습니다.

Component: CMP_Data; Installed: Absent; Request: Local; Action: Local 

_CMP_Data65; Installed: Null; Request: Local; Action: Local 

_CMP_Data66; Installed: Null; Request: Local; Action: Local 

어떤 제안을 크게 감상 할 수있다 : 나는이 항목으로 만들 모르겠어요하지만

구성 요소가 로그 파일 (옆에 좌우되지 않음)에서 세 번을 보여줍니다.

답변

0

내 문제는 CopyFile이 개별 파일에만 적용될 때 폴더를 복사하려고한다는 것이 었습니다.

이 문제를 해결하려면 복사 할 폴더의 각 하위 폴더를 수동으로 만들고 모든 이전 폴더의 내용으로 채워야합니다. CopyFile을 사용하고 SourceName 속성 (SourceName = "*")에 와일드 카드를 배치하여 특정 하위 폴더의 모든 것을 가져올 수 있습니다.