2012-10-24 38 views
24

Tôi đang sử dụng Wix 3.6 để tạo một MSI đơn giản được sử dụng trong nội bộ. Tôi muốn biết nếu có một cách dễ dàng để loại bỏ hộp thoại thỏa thuận cấp phép.Xóa hộp thoại giấy phép

Cảm ơn mọi đề xuất

+0

Bản sao có thể có của [Cách xây dựng giao diện người dùng trình cài đặt WiX tối thiểu mà không có trang giấy phép?] (Https://stackoverflow.com/questions/597025/how-to-build-a-minimal-wix-installer-ui- không có giấy phép-trang) –

Trả lời

7

Điều quan trọng là tạo giao diện người dùng tùy chỉnh và kết nối các trang khác nhau. Xem trang trên WixWiki

Bạn muốn lấy mã WixUI cho hộp thoại bạn đang sử dụng (ví dụ: Tối thiểu, v.v.), Gọi nó <UI Id='MyAppWix_UIMinimal'> và sửa đổi nó một chút và tham khảo nó trong các wx chính của bạn. Thay vì hộp thoại chào mừng WelcomeEulaDlg, bạn muốn sử dụng WelcomeDlg. Điều chỉnh các tham chiếu và nối nút Tiếp theo trên WelcomeDlg tới hộp thoại tiếp theo trong ngăn xếp.

Dưới đây là một liên kết tốt với mã: http://www.howdoicode.net/2011/09/wix-how-to-hide-license-agreement.html

7

đơn giản hóa này của XML nói trên (http://www.howdoicode.net/2011/09/wix-how-to-hide-license-agreement.html) làm việc cho tôi; này bỏ qua một cách hiệu quả các giấy phép chứ không phải nối trong một trang tùy chỉnh

<UI Id='Mondo'> 
    <UIRef Id="WixUI_Mondo" /> 
    <UIRef Id="WixUI_ErrorProgressText" /> 
    <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="SetupTypeDlg" Order="3">1</Publish> 
    <!-- skip the page on the way back too --> 
    <Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3">1</Publish> 
</UI> 

I gotta nói cách tiếp cận chung của sao chép mã wix và hack nó về một chút ("Thay đổi dãy UI của một built-in set thoại" (http://wixtoolset.org/documentation/manual/v3/wixui/wixui_customizations.html)) là kinda cam chịu thực sự .... nhưng hey

+0

Điều này hoạt động vì "SetupTypeDlg" là phép thuật; nó chỉ xảy ra là hộp thoại thường xuất hiện sau giấy phép. đẹp đấy chứ hả? – jolyon

+0

Điều gì xảy ra trong cách tiếp cận của bạn khi bạn nhấp vào 'trở lại' trên hộp thoại SetupType? – harper

+0

tôi nhanh chóng chèn dòng này :-) 1 – jolyon

22

tôi bỏ qua nó bằng cách sử:

<UI> 
    <UIRef Id="WixUI_InstallDir" /> 
    <Publish Dialog="WelcomeDlg" 
     Control="Next" 
     Event="NewDialog" 
     Value="InstallDirDlg" 
     Order="2">1</Publish> 
    <Publish Dialog="InstallDirDlg" 
     Control="Back" 
     Event="NewDialog" 
     Value="WelcomeDlg" 
     Order="2">1</Publish> 
</UI> 
+0

làm việc cho tôi cảm ơn. –

+0

Cảm ơn bạn, Sean, cho đề xuất của bạn. Trong trường hợp của tôi, tôi đã sử dụng SetupTypeDlg làm hộp thoại tiếp theo thay vì –

+0

Câu trả lời hay. Tuy nhiên, đối với những người có cài đặt 'đơn giản' với đường dẫn cài đặt cố định và chỉ có một tính năng, tôi khuyên bạn nên thay thế 'InstallDirDlg' bằng' VerifyReadyDlg'. Điều này giống với giao diện người dùng đơn giản mà không có EULA. –

4

tôi vừa mới đi qua một dự án Wix # bắt chước các tập tin XML Wix, nhưng cho phép bạn mã thiết lập trong C#. Bạn có thể tìm thấy dự án này trên https://wixsharp.codeplex.com. Ban đầu tôi đã có cùng một vấn đề với một tập tin giấy phép với "Điều khoản và Điều kiện" cần phải được chấp nhận trước khi người dùng có thể cài đặt phần mềm. Với giải pháp không phải là một bản chất như vậy mà nó yêu cầu "Điều khoản và Điều kiện" được chấp nhận, tôi đã phải tìm một cách để loại bỏ hộp thoại này.

Sau một chút tìm kiếm (trong Wix #), tôi đã đưa ra như sau:

WixSharp.CommonTasks.Tasks.RemoveDialogsBetween(project, 
           WixSharp.Controls.NativeDialogs.WelcomeDlg, 
           NativeDialogs.InstallDirDlg); 

Được rồi, tôi nhận được rằng điều này không giải quyết vấn đề hoàn toàn, vì điều này sẽ có nghĩa là bạn' d phải mã hóa lại giải pháp của bạn, vì vậy cổng tiếp theo của cuộc gọi là xem Tệp nguồn WiX đã được phát ra trong quá trình này.

Vì vậy, từ đó, tôi thấy rằng có một yếu tố <UI> như sau:

<UI> 
    <Publish Dialog="WelcomeDlg" 
      Control="Next" 
      Event="NewDialog" 
      Value="InstallDirDlg" 
      Order="5">1</Publish> 

    <Publish Dialog="InstallDirDlg" 
      Control="Back" 
      Event="NewDialog" 
      Value="WelcomeDlg" 
      Order="5">1</Publish> 
</UI> 

nào liên kết với các nút Next trên đón thoại đến cài đặt hộp thoại thư mục (hoặc thoại sau hộp thoại giấy phép) và nút Quay lại của hộp thoại cài đặt cài đặt vào hộp thoại chào mừng - hiệu quả rem oving hộp thoại giấy phép.

Các vấn đề liên quan