2012-06-13 2 views
3

WIX를 사용하여 구현 중입니다 ... 바이너리에 EXE를 추가하고 설치 전에 호출하여 CustomAction에서 EXE를 실행해야합니다. . 그러나이 EXE에는 현재 디렉터리에 있어야하는 데이터를 읽는 XML 파일이 필요합니다. 이를 위해 EXE에서했던 것처럼 바이너리에 XML을 삽입 할 수 있습니다.WIX가 CustomAction의 바이너리에서 파일 (XML)을 추출해야합니다.

이제 바이너리에서 EXE 전에 XML 파일을 추출해야합니다. CustomAction을 추출하지 못했습니다. 추출해야합니다.

에 따라 내가했던 것들이다 :

  • 추가 된 XML I 시도

    <Binary Id="TestXML.xml" SourceFile="d:\csu\TestXML.xml"/>

    • 에서 CustomAction 진
    (에 - 물음표 "???"어떻게 넣어)

<CustomAction Id="SetBinaryWrite_TargetFileName_1" BinaryKey="TestXML.xml" ExeCommand="???" Execute="immediate" Return="ignore" />

  • 실행 도움이 필요

    InstallExecuteSequence에서 >

<Custom Action="SetBinaryWrite_TargetFileName_1" After="ValidateProductID"/> <에서!

+0

존경하는 솔루션을 살펴보고자하지만 지정된 파일이 존재하지 않습니다. http://www.csharpque.com/2012/06/wix-custom-action-delete-files-before .html –

답변

1

이 기능은 기본적으로 지원되지 않습니다.

이진 테이블에서 EXE를 시작하면 기본 Windows Installer 사용자 지정 작업입니다. 단순히 이진 테이블에서 파일을 추출하려면 사용자 지정 코드를 사용하여 사용자 지정 동작을 작성해야합니다.

win32 DLL은 설치 핸들을 받고 Windows Installer API을 사용하여 파일을 추출 할 수 있습니다.

+0

고마워요 ... 그것에 대해 노력하고 그것을 알아낼 ... 내가 당신에게 돌아갈 것입니다 !! –

+0

덕분에 CustomAction DLL을 사용하여 다른 방법으로 생각했습니다 ... http://www.csharpque.com/2012/06/wix-custom-action-delete-files-before.html –

관련 문제