2012-05-23 2 views
1

작동하는 WiX 3.5 설치 프로그램이 있습니다. 설치가 성공적으로 완료되면 방금 설치 한 응용 프로그램을 WiX에서 실행하는 방법을 알게되었습니다.WiX - 디스크에서 프로그램 시작 하시겠습니까?

그러나 설치 CD를 CD 자체에서 실행되는 작은 응용 프로그램과 함께 보내고 싶습니다. - 주 응용 프로그램 설치가 끝날 때 팝업이 나타나게하고 싶습니다. 두 번째 응용 프로그램은 CD에서 실행해야합니다.

내 첫 번째 시도 - 이것이다 - 설치의 끝에서 기본 응용 프로그램을 시작 :

<UI> 
    <!-- <UIRef Id="WixUI_Minimal" /> --> 
    <Publish Dialog="ExitDialog" 
      Control="Finish" 
      Event="DoAction" 
      Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish> 
</UI> 
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch MyInstalledApp" /> 
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" /> 

<Property Id="WixShellExecTarget" Value="[#MyInstalledApp.exe]" /> 
<CustomAction Id="LaunchApplication" 
    BinaryKey="WixCA" 
    DllEntry="WixShellExec" 
    Impersonate="yes" /> 

그러나, 내가 좋아하는 뭔가를 실행하려면이 옵션을 변경하려면 "D : \ MyTinyApp.exe"대신 . WiX를 사용하여 소스 CD를 어떻게 처리합니까?

답변

2

사진을주세요. 당신이 MSI 파일이 있던 같은 위치에 실행하고자하는 파일을 가정하면, 먼저 찾아 가야한다 :

<Property Id='WixShellExecTarget'> 
    <DirectorySearch Id='DirSearch' Path='[SOURCEDIR]' Depth='0'> 
     <FileSearch Id='FileSearch' Name='MyFileToRun.exe'/> 
    </DirectorySearch> 
</Property> 
<CustomAction Id="LaunchApplication" 
    BinaryKey="WixCA" 
    DllEntry="WixShellExec" 
    Impersonate="yes" /> 

에서 [SOURCEDIR] 키입니다. MSI가 있어야합니다. 파일을 찾을 수없는 경우 유용 할 수있는 조건을 추가하는 것을 고려할 수도 있습니다.

+0

답장을 보내 주셔서 감사합니다. 이 코드를 사용하면 "The Property/@ Id 특성의 값인 'WixShellExecTarget'에 소문자가 포함될 수 없습니다.이 속성은 검색 속성이기 때문에 Public 속성이어야합니다. 즉 Property/@ Id 값이 있어야합니다. 완전히 대문자. " 그러나 이드와 다른 모든 것을 대문자로 변경하면 같은 오류가 발생합니다. 어떤 아이디어? – Sugrue

관련 문제