2010-01-14 62 views

Trả lời

8

Trong dự án thiết lập dự án nhấp chuột phải của bạn và chọn Xem> Hành động tùy chỉnh. Thêm hành động tùy chỉnh. Bây giờ chọn Add Output, chọn dự án dịch vụ web của bạn và nhấn OK.

Bây giờ chọn hành động tùy chỉnh của bạn và thiết lập CustomActionData tài sản để chứa một cái gì đó giống như /ProductName=[PRODUCTNAME] /whateveryouwant=[Whateveryouwant] (lưu ý rằng đây là những cặp khóa-giá trị, nghĩa là để truy cập vào tên sản phẩm, ProductName là chìa khóa và giá trị là PRODUCTNAME).

Lưu ý rằng CustomActionData chứa các tham số sẽ được chuyển đến lớp trình cài đặt của bạn. PRODUCTNAME là tên thuộc tính được kết hợp với điều khiển đầu vào trong hộp thoại giao diện người dùng và trong trường hợp của bạn, bạn sẽ nhắc người dùng cho Tên sản phẩm trong trình cài đặt yor. Vì vậy, nhãn là "Tên sản phẩm" và thuộc tính tương ứng phải được đặt là PRODUCTNAME (rõ ràng là bạn có thể thay đổi điều này, nhưng điều quan trọng nhất cần lưu ý là tên thuộc tính giao diện người dùng phải giống với tên thuộc tính trong số CustomActionData) cho ví dụ này để làm việc.

Bây giờ trong lớp cài đặt của bạn, bạn có thể nhận được tên sản phẩm bằng cách làm

public override void Install(IDictionary stateSaver) 
{ 
     // If you need to debug this installer class, uncomment the line below 
     //System.Diagnostics.Debugger.Break(); 

     string productName = Context.Parameters["ProductName"].Trim(); 

     string whateveryouwant = Context.Parameters["whateveryouwant"].Trim(); 
} 

lưu ý tôi bao gồm các mã nhận xét //System.Diagnostics.Debugger.Break(); mà bạn có thể đăng bài để bạn có thể gỡ lỗi các lớp cài đặt.

hy vọng điều này sẽ hữu ích.

+0

Excelent! Cảm ơn bạn! –

+0

Tôi đã gặp phải 2 vấn đề: (1) Nó không hoạt động (2) Khi gỡ lỗi nó nói: 'Không thể đánh giá biểu thức vì mã của phương pháp hiện tại được tối ưu hóa.' –

+0

im không chắc chắn vấn đề là gì mà không thấy mã hoặc có nhiều chi tiết hơn. lỗi bạn nhận được là lỗi xảy ra cho nhiều vùng. nếu bạn muốn bạn có thể gửi cho tôi một phiên bản rút gọn của dự án thiết lập của bạn và bệnh có một cái nhìn để xem nếu tôi có thể thấy whats sai với nó. – Somedeveloper

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