2009-02-11 42 views
6

Tôi muốn có thể sản xuất một MSI từ VS08 có thể được sử dụng để cài đặt, ví dụ: bản demo, dàn dựng và phiên bản sản xuất của cùng một ứng dụng trên cùng một trang web trong cùng một IIS. Nói cách khác, người dùng cần phải kiểm soát bao nhiêu trường hợp họ muốn - Tôi không ở vị trí để tạo trước chúng bằng cách thay đổi mã sản phẩm (mặc dù trong thực tế sẽ có giới hạn trên thực tế là 10). <EDIT> Tuyến chuyển đổi yêu cầu một kiến ​​thức tiên tiến tương tự AFAICT (bott suggested this route và trong khi nó hoạt động, nó sẽ không tạo ra trải nghiệm khách hàng tuyệt vời) </EDIT>.Ứng dụng ASP.NET trình cài đặt MSI nhiều trường hợp

trường hợp khác của my question tồn tại, mà không cần câu trả lời tại:

Câu trả lời lý tưởng sẽ được OOTB với VS08 nhưng tôi wouldnt thể ngạc nhiên nếu điều này là có một người chết kết thúc với điều này. (BTW thông tin tốt nhất về trình cài đặt MSI ASP.NET tôi đã thấy là this scottgu post).

MSDEPLOY có vẻ như con hẻm của tôi, vì vậy tôi đã xem xét một thứ gì đó gói nó, chỉ tôi muốn có thể hỗ trợ các hệ điều hành không phải là máy chủ như XP và Vista.

Tôi thấy dấu hiệu của sản phẩm InstallShield sắp tới có vẻ như vậy, dựa trên cơn đau từ 10 năm trước tôi muốn tránh, nhưng không hoàn toàn ngược với việc chuyển sang điều gì đó ít đau đớn hơn. Một lợi ích bên sẽ là máy chủ CI [TeamCity] của tôi sẽ không cần phải bị ô nhiễm với một bản sao của VS không có lý do chính đáng (và không, tôi chắc chắn sẽ không cần phải giữ nó ở đó để chạy MSTESTs: D).

+0

Điều này chưa được giải quyết đầy đủ, vì vậy không có nội dung nào được chấp nhận –

Trả lời

0

Tôi có một dự án Windows nơi chúng tôi sử dụng WIX để tạo các tệp MSI. Chúng tôi có một tệp WIX cho mỗi môi trường khác nhau của chúng tôi. Khi máy chủ tích hợp liên tục của chúng tôi kết thúc một bản dựng, chúng tôi sẽ nhận được thư mục "Thiết lập" chứa các tệp MSI riêng biệt cho dev, kiểm tra, mô hình, sản xuất &. Mỗi người trong số họ được cài đặt để tách các thư mục với app.configs riêng biệt.

Nó không phải tất cả được tích hợp vào một MSI như bạn muốn, nhưng nó hoàn thành một cái gì đó tương tự.

+0

Cảm ơn David, tôi đã làm điều gì đó tương tự - tùy chỉnh .vdproj cho mỗi môi trường cho mục đích nội bộ. Vấn đề là không thể cho người dùng sau khi nó được biên dịch vào một MSI (Do đó "Tôi không ở vị trí để tạo ra chúng bằng cách thay đổi mã sản phẩm") –

3

Bạn đã đọc sách này chưa? Installing Multiple Instances of Products and Patches

lời khuyên của tôi là sử dụng wix. bạn có thể sử dụng msi hiện tại của bạn và dịch ngược nó bằng "tối". tối tạo tất cả các tệp xml bạn cần từ msi của bạn. sau đó bạn có thể thực hiện các thay đổi với wix và sau đó bạn có thể tích hợp các bước vào quá trình msbuild của bạn.

+0

Với các biến đổi, theo http: // msdn. microsoft.com/en-us/library/aa369528(VS.85).aspx nó vẫn trông với tôi như bạn cần phải tạo trước các bộ lên phía trước. Sau đó, bạn thêm một param vào msiexec để kích hoạt một trong các biến đổi. –

+0

Tôi đoán tôi có thể pregen 10 và tài liệu đó cho nhiều trường hợp một msiexecs với một param sử dụng một trong số họ. Những gì tôi đã hy vọng là có một giao diện cho phép họ chọn các trường hợp và/hoặc gán 'nhãn' cho lựa chọn của họ cho họ. Nếu không, họ phải nhớ rằng '1' có nghĩa là 'kiểm tra'. –

+0

Có nói rằng, tôi có một ý tưởng tốt rằng tôi nên ở trong WixLand - và đề cập đến 'tối' kiếm được +1 của tôi và hơn thế nữa, vì tôi lo lắng về chi phí chuyển đổi. (Có một đề cập khác về Wix như là những gì những đứa trẻ lớn sử dụng-đoán tôi đã chỉ cần đưa ra trở thành một đứa trẻ lớn cài đặt càng lâu càng tốt!) –

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