2012-05-14 19 views
6

Tôi cần một quy trình có đặc quyền của quản trị viên. Từ this câu hỏi và câu trả lời có vẻ như không có cách nào tốt hơn là khởi chạy một quy trình riêng biệt. Vì tôi muốn có một quy trình dành riêng cho điều đó thay vì chỉ khởi chạy ứng dụng ban đầu của tôi trong một quy trình thứ hai chỉ cho phương thức này - tôi nghĩ tôi sẽ tạo hai dự án trong một giải pháp trong VS2010. Tuy nhiên - khi cố gắng triển khai nó - có vẻ như tôi chỉ có thể xuất bản một trong số chúng tại một thời điểm. Điều đó sẽ không làm, bởi vì tôi không muốn một khách hàng phải cài đặt nhiều hơn một - và sau đó cũng sẽ có vấn đề về việc tìm ra các đường dẫn tương đối, v.v.Làm cách nào để xuất bản nhiều ứng dụng/quy trình với một lần triển khai nhấp chuột?

Tôi không muốn cả hai quy trình các ứng dụng khởi động. Tôi muốn một là ứng dụng khởi động, mà các cuộc gọi (nếu cần) thứ hai chỉ cho một phương pháp.

Vậy làm cách nào để có hai quy trình với một lần cài đặt nhấp chuột?

Trả lời

10

bạn cần tham chiếu dự án thứ hai (công nhân) từ dự án đầu tiên (chính) - và sau đó, nếu bạn đến thuộc tính dự án đầu tiên -> Xuất bản -> Tệp ứng dụng, bạn sẽ thấy EXE thứ hai là phụ thuộc . Nếu không - chỉ cần đặt menu thả xuống "Trạng thái xuất bản" thành "Bao gồm".

cũng - Tôi không chắc mục tiêu của bạn là gì, nhưng hãy xem bài đăng của tôi tại đây: Forced the application to have the administrator privileges - sự cố rất giống với việc gọi ứng dụng có đặc quyền quản trị từ ứng dụng ClickOnce. Có thể tiết kiệm cho bạn vài phút.

+0

Cảm ơn. Điều đó dường như đã làm điều đó. – ispiro

+0

Điều này có tạo ra hai biểu tượng máy tính để bàn không? –

+0

@ZacharyCanann không, chỉ một. – avs099

3

Nếu bạn không muốn người dùng cài đặt nhiều ứng dụng, thì bạn không muốn có nhiều lần triển khai ClickOnce. Những gì bạn thực sự muốn là một triển khai. Vì vậy, ứng dụng ClickOnce cần phải là ứng dụng chính của bạn và bạn cần phải bao gồm exe từ ứng dụng thứ cấp trong triển khai ClickOnce. Tôi sẽ làm điều này:

Thêm bản sao của exe vào dự án ClickOnce, đặt hành động xây dựng thành 'nội dung' và thư mục sao chép sang đầu ra thành 'sao chép luôn'. Sau đó, hãy xây dựng và kiểm tra hộp thoại Tệp ứng dụng trong thuộc tính xuất bản và đảm bảo nó hiển thị.

Bây giờ, nếu bạn có thể xây dựng giải pháp và nó xây dựng cả hai dự án, hãy chắc chắn rằng nó đang xây dựng dự án tạo exe trước. Sau đó, thêm một lệnh sau xây dựng cho dự án ClickOnce sẽ sao chép nó từ thư mục đầu ra của dự án đầu tiên vào thư mục đầu ra của dự án thứ hai.

Điều gì sẽ xảy ra là nó sẽ xây dựng dự án đầu tiên, sau đó nó sẽ xây dựng dự án C/O (và sao chép phiên bản exe của dự án ClickOnce vào thư mục đầu ra), và THEN nó sẽ sao chép phiên bản mới nhất của exe từ dự án khác vào thư mục đầu ra của dự án ClickOnce, và sau đó nó sẽ tạo ra triển khai.

Tôi không phải là chuyên gia msbuild, nhưng lệnh sau khi xây dựng sẽ giống như thế này.

COPY/Y "$ (ProjectDir) .... \ otherproject \ bin \ phát hành \ mynew.exe" "$ TargetDir) \ mynew.exe"

này bản sao từ các dự án hiện tại, lên hai cấp độ , các dự án khác, sau đó thư mục bin, sau đó phát hành + mynew.exe, vào thư mục đầu ra xây dựng. Tôi sẽ không có cấu trúc thư mục chính xác cho dự án khác - bạn sẽ cần phải tự thiết lập. Nhưng điều này mang lại cho bạn ý tưởng chung.

+0

Cảm ơn. Điều đó có vẻ đầy hứa hẹn. – ispiro

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