2009-03-17 21 views
13

Tôi đã tạo ứng dụng dành cho máy tính để bàn và bây giờ tôi cần cài đặt trên máy tính của khách hàng.Bạn có thể tạo tệp setup.exe trong qt để cài đặt ứng dụng của mình trên máy khách hay không

Tuy nhiên, khách hàng muốn có trình hướng dẫn cài đặt. Giống như dự án thiết lập Visual Studio cho phép bạn thêm một trình cài đặt.

Qt có cho phép bạn tạo trình cài đặt hay tôi cần sử dụng trình cài đặt của bên thứ ba như InstallShield hoặc Wise?

Trả lời

10

Bạn chắc chắn cần trình cài đặt của bên thứ ba. Một vài cái tốt đã được đề cập. Nếu bạn quyết định đi với một giải pháp trả tiền bitrock's installer là một sự lựa chọn hoàn hảo và họ cũng là trung tâm Qt và kinh doanh chính của họ là khoảng Qt.

Là một thay thế mã nguồn mở tôi sẽ đề nghị NSIS

+0

một trong những người có thể xây dựng MSIs? –

+0

Không, đối với MSI, bạn sẽ cần phải sử dụng một cái gì đó như WiX. Nhưng bạn có thực sự, thực sự cần MSIs? Đối với hầu hết các ứng dụng, một .exe theo tiêu chuẩn phải đủ –

+0

Thông thường, có thể là không. Trong trường hợp của tôi, vâng. :) Nhưng cảm ơn. –

1

Tôi nghĩ tốt hơn nên sử dụng phần mềm của bên thứ ba như installshield. Chúng được tối ưu hóa cho mục đích đóng gói và cung cấp nhiều tùy chọn tùy chỉnh.

1

Nếu bạn đã có Visual Studio, bạn có thể tiếp tục sử dụng dự án thiết lập để phân phối ứng dụng của mình. Các công cụ này được tích hợp. Đây là công nghệ mà WiX "thay thế" (thêm vào đó sau), và đó là những gì tôi làm. Nó không phải là một giải pháp lý tưởng, nhưng nó cho tôi một MSI, đó là cách phần mềm Windows nên được cài đặt những ngày này. Sử dụng InstallShield hoặc một cái gì đó có thể tốt hơn, nhưng thành thật mà nói tôi chưa bao giờ có trải nghiệm tốt với bất kỳ trình cài đặt bên thứ ba nào. Đây là lý do tại sao tôi chỉ bị mắc kẹt với dự án thiết lập ít hơn lý tưởng; nó đập chi tiêu rất nhiều vào các công cụ tạo trình cài đặt đắt tiền, xấu xí và thường xuyên gây phiền toái cho bên thứ ba. Tóm lại, nó là một giải pháp rất thực dụng, và các giải pháp thực dụng có ý nghĩa.

Đối với WiX: Tôi thực sự không khuyên bạn sử dụng nó. Nó có vẻ như là một ý tưởng tuyệt vời, nhưng sau một vài tháng tôi thấy mình quay trở lại các dự án thiết lập. Mặc dù anh ấy đã sử dụng WiX trong một năm nhiều hơn tôi đã sử dụng các dự án thiết lập, chuyên gia WiX của chúng tôi mất gấp đôi thời gian để hoàn thành công việc. (Anh ấy cũng là một lập trình viên tuyệt vời, chỉ bị mù một chút bởi nguồn mở.) Bạn kết thúc với hàng ngàn dòng văn bản được sao chép mà bạn cần duy trì. Với một vài dự án khác nhau, nó trở thành một mớ hỗn độn không thể duy trì.

Tôi sẽ không đề xuất cố gắng tự xây dựng trình cài đặt trong Qt. Ngoài việc phải có rất nhiều hành vi vừa phải, như một ứng dụng Qt, nó sẽ yêu cầu các thư viện Qt. Trừ khi bạn liên kết tĩnh chúng, có thể với phiên bản thương mại (không phải LGPL) nhưng khó và không được khuyến khích. Thêm vào đó, bạn sẽ bao gồm hai bản sao của thư viện Qt trong bản tải xuống của mình.

Chính Qt dường như sử dụng trình cài đặt nullsoft. Điều đó một mình nên nói với bạn xây dựng của riêng bạn không phải là một ý tưởng tốt. :)

3

Nếu bạn chỉ nhắm mục tiêu Windows, bạn có thể sử dụng WiX (Windows Installer XML), có thể được tích hợp vào Visual Studio và MSBuild, do đó tương đối dễ sử dụng. Nó hoàn toàn miễn phí và tạo ra các tệp MSI hợp lệ, có thể là một yêu cầu.

Nếu bạn thích cần thiết lập trình hướng dẫn đơn giản, hãy dùng thử InnoSetup.

13

Tôi sử dụng Inno và thích nó rất nhiều. Tôi đã thử một vài người khác và điều này làm việc tốt cho tôi. (và miễn phí)

9

Bạn nên sử dụng Qt Installer Khung: http://doc.qt.io/qtinstallerframework/ifw-overview.html

+2

Tôi chắc chắn khuyên bạn nên dùng thử Khung Cài đặt của Qt. Đã cải thiện rất nhiều trong vài năm qua. Bạn có thể tạo các trình cài đặt trực tuyến/trực tuyến, cập nhật các thành phần riêng biệt và tạo 'gói', v.v. –

+0

Tôi vừa xem nhanh các tài liệu đó nhưng tôi không thể hiểu cách tạo trình cài đặt đơn giản cho chương trình Qt đơn giản. Ai có thể cho chúng ta một ví dụ đơn giản để tạo trình cài đặt cho chương trình QW HelloWord trên bất kỳ nền tảng nào? – aviit

+0

@aviit có hướng dẫn: http://doc.qt.io/qtinstallerframework/ifw-tutorial.html – Liviu

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