2009-05-06 4 views
0

내가윅스는 현재 사용자 또는 모든 사용자가

  1. EULA
  2. 폴더
  3. 설치를 환영했다 build.It 할 수있는 완벽한 윅스 스크립트를 필요로 설치 선택에서 설치 옵션을 사용하여 스크립트를 WXS
  4. 현재 사용자 또는 모든 사용자가
  5. 설치 설치를 선택
  6. 마침

단순한 응용 프로그램이기 때문에 단일 wxs 파일 만 있으면됩니다. 또한 현재 사용자 또는 모든 사용자를 위해 옵션을 설치해야합니다.

답변

6

Wix3에 내장 된 WixUI_Advanced UI를 확인 했습니까?

  • AdvancedWelcomeEulaDlg
  • BrowseDlg
  • DiskCostDlg
  • FeaturesDlg
  • InstallDirDlg
  • InstallScopeDlg (사용자 선택 또는 시스템 당)
  • 을 : 여기

    그것이 갖는 다이얼로그있다
  • InvalidDirDlg
+0

SourceForge의 URL은 대소 문자를 구분합니다. http://wix.sourceforge.net/manual-wix3/WixUI_advanced.htm –

3

나는 또한 WixUI_InstallDir을 사용하지만, 그것을 복사하고 설치의 끝에서 텍스트 "다음에 수행 할 작업"일부 추가하여 내 요구에 따라 불통했습니다. this detailed walkthrough을 사용하여 Wix GUI를 가져 와서 내 자신의 목적을 위해 몇 가지 화면을 변경했습니다. Wix 소스 코드를 가져와야하지만, Wix 개발자가 WixUI_InstallDir 설치 프로그램을 실행하기 위해 포함시킨 실제 Product.wxs 파일의 컴파일되지 않은 버전을 가져 오기위한 용도로만 사용됩니다.

그래서 기본적으로 나는 (봉헌 추가 기능 VS에 사용) 용액에 이런 일이 :

  • MyWeb 프로젝트
  • 윅스 프로젝트
    • MyWeb.wxs를 - 내 제품 물건을 분명히
    • Product.wxs - WixUI_InstallDir의 구조, 흐름 및 내용을 정의하는 Wix 소스에서 온 Wix 파일
    • My_Inst allDir.wxs - 이것은 재미가 일어나는 곳입니다. 근본적으로 소스 코드 Wix 파일을 복사하여 내 필요를 충족하도록 변경 한 다음 Product.wxs에 화면에 대한 참조가 있고 원래의 화면이 아닌지 확인했습니다.

Product.wxs

<UI> 
     <UIRef Id="My_InstallDir"/> 
    </UI> 

    <!-- Add the customized EULA --> 
    <WixVariable Id="WixUILicenseRtf" Value="$(var.SolutionDir)\doc\license.rtf" /> 
    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" /> 
    <UIRef Id="My_InstallDir" /> 
    <!-- Add the customized banner logo --> 
    <WixVariable Id="WixUIBannerBmp" Value="$(var.SolutionDir)\doc\InstallerBanner.bmp" /> 
    <WixVariable Id="WixUIDialogBmp" Value="$(var.SolutionDir)\doc\InstallerSidebar.bmp" /> 

My_InstallDir.WXS는 내 종료 대화 상자를 참조 라인에서 떨어져 완전히 변경입니다 내 "다음에 무엇을"주의 사항은 다음과 같습니다 나는를 표시하고있어 어디

<Publish Dialog="MyExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish> 

은 그럼 진짜 변화는 My_ExitDialog에 텍스트 :

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
<Fragment> 
    <UI> 
     <Dialog Id="MyExitDialog" Width="370" Height="270" Title="!(loc.ExitDialog_Title) test"> 
      <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.WixUIFinish)" /> 
      <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUICancel)" /> 
      <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.ExitDialogBitmap)" /> 
      <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" /> 
      <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" /> 
      <!--<Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogDescription)" />--> 
      <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogTitle)" /> 
      <Control Id="NextSteps" Type="ScrollableText" X="135" Y="70" Width="220" Height="140" Sunken="yes" TabSkip="no"> 
       <Text SourceFile="$(var.SolutionDir)\doc\GemWebAfterInstall.rtf" /> 
      </Control> 
     </Dialog> 

     <InstallUISequence> 
      <Show Dialog="MyExitDialog" OnExit="success" /> 
     </InstallUISequence> 

     <AdminUISequence> 
      <Show Dialog="MyExitDialog" OnExit="success" /> 
     </AdminUISequence> 
    </UI> 
</Fragment> 

난 당신이 해결책을 찾고 알고, 반드시 포인터 없습니다. 그러나 내가 핵심 출발점으로 언급 한 기사를 사용하면 준비가 완료된 WixUI 비트에서 필요한 모든 부품을 찾거나 "기본 제공되는"물건의 작은 부분을 교체하여 찾을 수 있다고 생각합니다. 내가 가진 것처럼. 행운을 빕니다.

관련 문제