2008-10-02 32 views
6

Có rất nhiều công cụ để tạo trình cài đặt trên Windows (InstallShield, InnoSetup, NSIS, chỉ với một vài tên). Tất cả các công cụ tôi đã thấy nằm trong một hoặc cả hai danh mục nàyAPI để tạo trình cài đặt trên Windows

  • Chỉ và nhấp. Giao diện đẹp để tạo trình cài đặt, nhưng không thể chỉnh sửa thủ công tệp định nghĩa/dự án trình cài đặt.
  • Văn bản: Không có giao diện (chính thức). Trình cài đặt được biên dịch từ định nghĩa trong tệp văn bản được chỉnh sửa thủ công.

Trình cài đặt tôi đang xây dựng đều được định nghĩa bằng cách sử dụng DSL (được trình bày dưới dạng tệp YAML), do đó việc sử dụng GUI không được đặt ra.

Điều tôi thực sự muốn là công cụ hiển thị API hoàn chỉnh, qua đó tôi có thể kiểm soát việc tạo trình cài đặt. Có bất kỳ công cụ như vậy không?

Chỉnh sửa: Tôi rất muốn nghe về các công cụ không dựa trên MSI. MSI không phải là yêu cầu (thay vì cách khác xung quanh ...)

Trả lời

6

Wix 3.0 beta có hỗ trợ .NET bao gồm cho mục đích này. Tôi không biết nó hoạt động tốt như thế nào nhưng nó bao gồm tài liệu. Đó là một khung các loại để thao tác quá trình tạo cài đặt và tất cả sự tốt lành đó, vì vậy tôi không nghĩ rằng bạn thậm chí cần phải viết một dòng XML của WiX nếu bạn không muốn.

1

WiX là một công cụ tuyệt vời, nhưng bạn sẽ phải thực hiện rất nhiều mã hóa trực tiếp để thực hiện mọi việc. May mắn thay tài liệu là khá tốt và có một số công cụ GUI, chẳng hạn như WixEdit trên SourceForge để hỗ trợ trong quá trình này.

+0

WiX 3.0 có khung lập trình mà bạn không cần phải viết các tệp wix. Kiểm tra nó ra. –

0

Vâng, có API Windows Installer mà bạn có thể sử dụng để tạo tệp MSI trực tiếp, tuy nhiên tôi nghĩ bạn nên sử dụng WiX tốt hơn.

"Mã hóa trực tiếp" sẽ ít hơn nhiều so với đối phó với API của Trình cài đặt Windows trực tiếp, tôi đoán có thể quá "mức thấp" cho những gì bạn cần. Tùy thuộc vào những gì bạn đang tìm kiếm để làm, bạn có thể sử dụng WiX để tạo ra một MSI và sau đó tinh chỉnh mà sau đó sử dụng API.

Có gì sai khi tạo XML? Đó thực sự sẽ là lựa chọn đơn giản nhất của bạn ... bạn sẽ không cần phải tự chỉnh sửa nó, chỉ cần viết mã của riêng bạn để tạo XML được yêu cầu từ các tệp DSL của bạn và một vài mẫu.

+0

Tạo XML có thể chấp nhận được - tôi có thể thêm lớp chức năng của riêng mình lên trên cùng. Tạo ra một tập tin văn bản a la NSIS (mà là nhiều hơn một ngôn ngữ lập trình) không phải là quá chấp nhận được, vì nó là hình thức tự do hơn nhiều và tôi phải đối phó với trích dẫn, vv – JesperE

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