2016-07-09 35 views
5

Tôi có một giải pháp được lưu trữ trong Dịch vụ nhóm và sử dụng các dịch vụ xây dựng của nó.Chạy WiX trên các dịch vụ xây dựng trong Visual Studio Team Services (là VS Online), Lỗi LGHT0217, ICE01-07

Giải pháp này cũng bao gồm dự án xây dựng tệp MSI bằng bộ công cụ WiX. Công cụ này hoạt động tốt tại địa phương và tôi đã tích hợp các tệp công cụ nhị phân vào kho lưu trữ để bật nó trên máy chủ xây dựng như mô tả in this guide.

Nhưng quá trình xây dựng báo cáo dự án thất bại để xây dựng:

light.exe (0, 0) Lỗi thực thi hành động ICE 'ICE01'. Nguyên nhân phổ biến nhất của loại lỗi ICE này là động cơ viết mã không chính xác được đăng ký. Xem http://wixtoolset.org/documentation/error217/ để biết chi tiết và cách giải quyết vấn đề này. Định dạng chuỗi sau không được mong đợi bởi trình ghi nhật ký người dùng bên ngoài: "Không thể truy cập Dịch vụ Trình cài đặt Windows . Điều này có thể xảy ra nếu Trình cài đặt Windows không được cài đặt chính xác. Hãy liên hệ với nhân viên hỗ trợ của bạn để được trợ giúp".

này lặp đi lặp lại từ ICE01 để ICE07 và được theo sau bởi:

light.exe (0, 0) Một Win32 ngoại lệ bất ngờ với mã lỗi 0x643 xảy ra: Hành động - Fatal error 'ICE09' trong cài đặt

Tôi cũng đã cố gắng supress the validations as mentioned in this SO question. Đây là cơ bản về việc thêm những điều sau đây vào tệp dự án wix:

<PropertyGroup> 
    <SuppressValidation>true</SuppressValidation> 
</PropertyGroup> 

Điều này làm việc - nhưng tôi rất can đảm nếu đây là cách tốt nhất vì nó không cảm thấy hoàn toàn đúng. Cách chính xác để chạy WiX trong Visual Studio Team Services là gì?

Trả lời

6

Giả sử xác thực ICE là công việc hiện tại nếu bạn muốn xây dựng dự án WiX với VSTS Hosted Build Agent vì tác nhân tạo lưu trữ không cung cấp đặc quyền quản trị viên.

Nếu bạn không thoải mái với đàn áp xác nhận, bạn luôn có thể làm cho PropertyGroup có điều kiện về xây dựng được trên một đại lý xây dựng, vì vậy xác nhận đó được thực hiện như bình thường trong một xây dựng máy tính để bàn:

<PropertyGroup Condition=" '$(BuildingInsideVisualStudio)' != 'true' "> 
    <SuppressValidation>true</SuppressValidation> 
</PropertyGroup> 

Một cách thay thế là deploying your own build agent và sau đó chạy tác nhân tạo với quyền quản trị viên.

Nhân tiện, bộ công cụ WiX đã được cài đặt trên VSTS Hosted Build Agent, vì vậy bạn không cần phải làm theo hướng dẫn đó để kiểm tra bộ công cụ WiX nữa. Tham khảo this list cho phần mềm đã cài đặt.

+1

Danh sách có chính xác như phiên bản không? WiX v3.7 là 3,5 tuổi và không chứa các giảm nhẹ cho việc tấn công DLL: http://www.joyofsetup.com/2016/07/04/wix-v3-10-3-released/. Bất cứ ai muốn sử dụng một phiên bản an toàn của WiX có thể ở lại đến ngày bằng cách kiểm tra trong công cụ của họ. –

+0

@BobArnson Có, đã cài đặt v3.7. Đã có tiếng nói của người dùng ở đây để yêu cầu cập nhật phiên bản công cụ: https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/6875158-update-the-hosted-build-controller-to-wix -toolset –

+0

OBTW, tôi thấy WixV3.10 được cài đặt trên máy chủ xây dựng được lưu trữ kể từ ngày 1/16/2017. –

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