2011-12-23 29 views
7

Tôi có giải pháp ứng dụng web hiện có trong Visual Studio 2010. Một phần của giải pháp này là Dự án WiX chịu trách nhiệm tạo trình cài đặt .msi.Tự động cập nhật trình cài đặt WiX với các tệp mới được tạo

Tôi đã đọc qua hướng dẫn WiX trong một nỗ lực để học hỏi làm thế nào để tự động thu hoạch các file khi tôi gặp phải như sau:

http://wix.tramontana.co.hu/tutorial/com-expression-syntax-miscellanea/components-of-a-different-color

Một công cụ trong WiX, nhiệt phục vụ để thu thập dữ liệu từ nhiều nguồn (thư mục, tệp, DLL, điều khiển ActiveX, bộ đếm hiệu suất, trang web) nơi số lượng mục nhập có thể quá lớn để tác giả tệp nguồn WiX tương ứng theo cách thủ công. Mục đích chính của nó là chạy một lần, để thu thập dữ liệu được sử dụng sau này trong việc duy trì thường xuyên các tệp nguồn, không phải là một phần của môi trường xây dựng nơi nó chạy trên một tập dữ liệu đầu vào thay đổi nhiều lần. Nếu bạn vẫn muốn sử dụng nó theo cách thứ hai này, bạn phải rất cẩn thận để đảm bảo rằng những thay đổi trong đầu vào không giới thiệu các hiệu ứng không mong muốn (chủ yếu là phá vỡ các quy tắc thành phần). Nhiệt có các tính năng giúp bạn đạt được mục tiêu này nhưng hãy cẩn thận khi sử dụng chúng.

Có vẻ như tôi không muốn sử dụng chức năng chính của nó, nhưng hướng dẫn chỉ trêu chọc tôi với gợi ý về cách thực hiện những gì tôi muốn thực hiện.

Có thực sự là một ý tưởng tồi để thử và tự động duy trì các tệp được cài đặt bằng cài đặt WiX? Tôi đã mệt mỏi với những bản dựng bị hỏng khi ai đó đã đính kèm một tệp mới, nhưng quên cập nhật trình cài đặt WiX có tham chiếu đến tệp mới đó.

Những người khác xử lý tình huống này như thế nào?

Cảm ơn.

Re trêu chọc - Hướng dẫn nói rằng 'Nhiệt có các tính năng giúp bạn đạt được mục tiêu này' nhưng tôi không thể tìm thấy những tính năng nào đang được tham chiếu. Sau khi thu hoạch một dự án - tiếp theo là gì? Liệu nhiệt có chịu trách nhiệm cho việc tạo tệp .wxs mà tôi cuối cùng sẽ sử dụng - hay tôi chỉ nên sử dụng danh sách các tệp này và xây dựng tệp .wxs ful nổi bật sau khi thực tế?

Trả lời

4

Tôi đang sử dụng Heat trong ứng dụng web ASP.NET của mình để tự động thu thập tất cả các tệp cho ứng dụng.

Nó hoạt động khá tốt. Một điều là mỗi khi nó chạy nó tạo ra một ID mới cho các tập tin, và tôi tin rằng điều này làm cho mọi thứ một chút khó khăn hơn khi thực hiện nâng cấp. Có thể bạn sẽ cần phải thực hiện gỡ cài đặt và sau đó cài đặt để tải các tệp mới hơn.

Đã lâu rồi tôi mới xem xét và điều đó có thể đã thay đổi.

+0

Tệp .wx mà chúng tôi hiện đang sử dụng có nhiều hơn trong tệp không chỉ là tham chiếu đến tệp. Tuy nhiên, nhiệt tạo ra một tập tin .wxs. Tôi có phải tiêu thụ một tệp .wx và tạo tệp wx khác bằng cách sử dụng tệp đó không? Cấu trúc cài đặt không bắt chước cấu trúc của các tệp trong dự án - chúng tôi xác định thuộc tính 'nguồn' cho mỗi tệp. Tôi hiểu rằng tôi có thể tùy chỉnh một chút của nơi mà các tập tin đang đi bằng cách đi qua tham số dòng cmd để nhiệt - nhưng điều này không có vẻ như đủ của nó. Tôi có thu hoạch nhiệt một dự án - nhưng.Tệp wxs mà tôi để lại không ở đâu gần như đầy đủ tính năng như các tệp .wx hiện tại của chúng tôi. –

+0

xem http://stackoverflow.com/a/8598296/351614. Đầu ra được tạo ra bởi nhiệt sẽ chỉ dành cho các tệp mà bạn yêu cầu, bạn vẫn cần các tệp wx khác cho các siêu dữ liệu khác nhau về trình cài đặt của bạn. Hãy suy nghĩ về đầu ra của nhiệt như một lớp học mà Proudct.wx chính của bạn tham khảo và nội dung của tập tin nhiệt có thể thay đổi. Về cấu trúc thư mục nếu bạn có yêu cầu cụ thể, bạn sẽ phải trả lời để có được msbuild/cmd-fu của bạn và viết nó theo cách mà nó tạo ra cấu trúc thư mục mà bạn muốn. –

+0

http://www.codeproject.com/KB/install/asp_wix.aspx này có thể cung cấp cho bạn ý tưởng tốt hơn về cách hoạt động và tất cả đều rơi cùng nhau –

4

Có công cụ gọi là Paraffin để khắc phục một số thiếu sót của Nhiệt. Nó có thể, đặc biệt, cập nhật danh sách tập tin. Ngoài ra, hãy xem this Google groups thread để thảo luận về điều này.

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