2012-04-11 21 views
9

Ứng dụng của chúng tôi, được phân phối qua ClickOnce, mất trung bình 10,8 giây để bắt đầu. Sau khi chạy ngen trên .exe (trong thư mục ClickOnce đã cài đặt nó vào), nó khởi động ở mức trung bình 6.4 giây. Điều này rõ ràng là một sự tăng tốc rất lớn (40%) và tôi muốn sử dụng ngen-ification nếu có thể.Có thể tạo trước các hình ảnh NGen để khách hàng không phải không?

câu trả lời của Ron để Is it possible to use NGen with ClickOnce deployment? cho thấy làm thế nào nó có thể được thực hiện trên máy tính của khách hàng, giả sử tôi đoán ông chạy Windows XP, vì nó muốn quyền Administrator trên Windows 7 hộp của tôi, do đó không có vẻ như một giải pháp chung.

Hơn nữa, ngen mất 40 giây trên hộp của tôi để biên dịch tất cả các hội đồng thuộc về ứng dụng đó. Vì vậy, lý tưởng, tôi muốn pre-ngen ứng dụng của chúng tôi cho tất cả (lớn) kiến ​​trúc như một phần của quá trình xây dựng, vì vậy nó có thể được chuyển đến khách hàng mà không cần người dùng phải chấp nhận một "ok để thực thi với tư cách quản trị viên? " bật lên rồi đợi 40 giây.

Điều đó có khả thi không?

+0

Đầu ra NGen là kiến ​​trúc cụ thể. Và vì không chắc rằng máy xây dựng của bạn phù hợp với (các) máy sản xuất, điều này có thể sẽ không hoạt động như bạn đang hy vọng. –

+0

@CodyGray Như đã đề cập trong câu hỏi của tôi, tôi sẽ sẵn sàng để ngây thơ cho tất cả các kiến ​​trúc lớn. Nếu chúng tôi đã x86 và amd64 chỉ có nên bao gồm 95% khách hàng, tôi đoán ... –

Trả lời

9

Bạn không thể làm điều này mà không cần truy cập quản trị trên Windows 7.

Vấn đề không phải là thế hệ ngen thực tế của hình ảnh bản địa nhưng việc cài đặt vào bộ nhớ cache hình ảnh gốc (C: \ windows \ lắp ráp \ nativeImages_v # xxxxxxxxx) yêu cầu quyền quản trị. Vì vậy, ngay cả khi bạn tìm thấy một cách để tạo trước các hình ảnh gốc cho tất cả các kiến ​​trúc mục tiêu, bạn sẽ không thể đưa chúng vào vị trí thích hợp cho thời gian chạy để xem xét việc sử dụng chúng.

Bạn không thể chỉ đặt chúng cạnh nhau với các tệp nhị phân thông thường của bạn vì chúng sẽ không được quản lý đúng cách - bạn sẽ gặp rắc rối khi một số thay đổi chính sách bảo mật được thực hiện. áp dụng hoặc các thay đổi khác được thực hiện cho các hội đồng tham chiếu làm mất hiệu lực hình ảnh gốc và sẽ yêu cầu lệnh "ngen update" để chạy. Microsoft chỉ không hỗ trợ trường hợp sử dụng ngen với việc triển khai ClickOnce tại thời điểm này.

+0

Một cái gì đó (google) nói với tôi bạn là đúng, nhưng chúng ta hãy chờ một chút, có thể một cái gì đó lần lượt lên. Xét cho cùng, mặc dù MS tuyên bố ngược lại, câu trả lời cho http://stackoverflow.com/questions/443955 cho thấy rằng có thể, ít nhất là đối với Windows XP. Cấp, XP không phải là một cái gì đó một ứng dụng ClickOnce triển khai nên dựa vào những ngày này ... –

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