2009-11-18 2 views
7

Tôi có ứng dụng bảng điều khiển mà tôi đang triển khai bằng cách sử dụng ClickOnce. Sau khi người dùng cài đặt chương trình, các liên kết được thiết lập nhưng chương trình liên quan là trình cài đặt (Thư viện hỗ trợ triển khai ứng dụng ClickOnce) và không phải là chương trình thực tế. Làm cách nào để tôi có thể liên kết trở thành chương trình thực tế chứ không phải trình cài đặt?Hiệp hội tệp ClickOnce

Tôi đã bao gồm nút tệpAssociation từ ứng dụng.manifest bên dưới. Vui lòng cho tôi biết nếu bạn có bất kỳ mẹo nào về điều này. Cảm ơn.

<fileAssociation xmlns="urn:schemas-microsoft-com:clickonce.v1" 
       extension=".aav" 
       description="My Program" 
       progid="MyProgram" 
       defaultIcon="myIcon.ico" /> 

Thử nghiệm trên 3 máy tính khác nhau khác nhau từ Windows XP, Vista, Windows 7. Mức độ tin cậy hoàn toàn tin cậy. Tự động cập nhật được đặt để kích hoạt trước khi khởi chạy.

+0

Một số thông tin hơn sẽ được tốt đẹp: thiết lập tự động cập nhật, trình độ Trust, thử nghiệm trên máy tính khác? –

+0

Thử nghiệm trên 3 máy tính khác nhau, từ Windows XP, Vista, Windows 7. Mức độ tin tưởng là sự tin cậy hoàn toàn. Tự động cập nhật được đặt để kích hoạt trước khi khởi chạy. – strickland

Trả lời

18

Sự cố bắt nguồn từ 1 không nhất thiết phải hiểu ClickOnce, cảm ơn codeConcussion cho tổng quan ngắn gọn.

Và 2, mà ClickOnce không vượt qua điều thông qua các định dạng args truyền thống nhưng thông qua các tài sản sau đây: AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData

+1

Cảm ơn bạn ... Cảm ơn rất lớn! – IWIH

6

Tôi nghĩ đây chỉ là một sự hiểu lầm về cách thức hoạt động của ClickOnce. Một exe chính của ứng dụng ClickOnce không bao giờ được khởi chạy trực tiếp. Các ứng dụng được bắt đầu thông qua tệp kê khai triển khai (tệp ứng dụng) trên máy chủ. Nếu bạn mở lối tắt trình đơn bắt đầu của ứng dụng trong trình chỉnh sửa văn bản, bạn có thể thấy nó trỏ ngược trở lại tệp .application, chứ không phải tệp .exe cục bộ.

Điều này cho phép tất cả các phép thuật cập nhật diễn ra. Nếu tệp .aav của bạn được liên kết với .exe, người dùng sẽ không nhận được bất kỳ cập nhật nào khi mở ứng dụng thông qua tệp .aav.

Bạn đã tuyên bố rằng "khởi chạy trình cài đặt" khi bạn nhấp đúp vào một tệp; ứng dụng của bạn có bắt đầu sau đó không? Bạn có thể giải thích kết quả cuối cùng mà bạn mong đợi không?