2009-10-30 38 views
5

Một trong những MSI của chúng tôi đã bắt đầu thất bại với Lỗi 2902. Nó sẽ nhận được hầu hết các cách thức thông qua cài đặt, bật một hộp lỗi, và sau đó quay trở lại cài đặt. Chúng tôi đã không thực hiện bất kỳ thay đổi lớn nào đối với trình cài đặt kể từ phiên bản làm việc cuối cùng.Điều gì có thể gây ra lỗi 2902 khi cài đặt MSI?

Chạy msiexec với khai thác gỗ bật đưa ra một thông điệp thông tin mới hơn:

Action 17:21:22: RegisterProduct. Registering product 
Error 2902: Operation ixoFileCopy called out of sequence 

này đi kèm ngay sau "WriteRegistryValues" phần. Có ai biết những gì gây ra các cuộc gọi đến ixoFileCopy? Tôi đoán độ phân giải sẽ liên quan đến việc thay đổi trình tự của bước "RegisterProduct", nhưng tôi không chắc nó nên tiến hành như thế nào.

Cảm ơn bạn đã trợ giúp!

Trả lời

2

Nó chỉ ra rằng trong trường hợp của chúng tôi điều này đã xảy ra do một tập tin dữ liệu nhận được quá lớn cho MSI để xử lý mà không cần chunking cab. This thread đề cập đến vấn đề và một giải pháp có thể xảy ra.

+0

Chỉ cần cho đầy đủ, ** msi.chm ** (tài liệu SDK) nêu trong nhận xét cho mã lỗi 2902: * "... Có thể chỉ ra rằng việc cài đặt các hội đồng Win32 được tác giả không chính xác. Thành phần bên cạnh có thể cần một đường dẫn chính. * " –

1

Tôi đã gặp lỗi tương tự.

Rõ ràng, có các tệp bị thiếu hoặc bị hỏng (lỗi mạng?). Vấn đề đã được giải quyết sau khi sao chép toàn bộ thư mục một lần nữa.

1

Tôi cũng đã thấy lỗi này khi các thành phần được cung cấp với các hướng dẫn trống.

ví dụ:

<Component Id="cmp_MyFailingComponent" Guid=""> 
    <File Id="f_myFile" 
    Assembly=".net" 
    Source="C:\Program Files\MyFile.dll" 
    KeyPath="yes"/> 
</Component> 
+0

Vì vậy, nếu tôi google cho một vấn đề tôi đang gặp phải và đi theo câu trả lời của riêng tôi từ 3 năm trước, tôi đoán điều đó có nghĩa là tôi đang mất bi của tôi ... (thở dài...) –

0

Tôi đã nhìn thấy lỗi này khi một số trường cột cơ sở dữ liệu dài hơn chiều rộng cột.

Tôi đã chuyển đổi MSI thành một dự án InstallShield, thực hiện một vài bổ sung và xây dựng một MSI mới - nó được xây dựng mà không có bất kỳ lỗi nào. Cài đặt sau đó không thành công với lỗi 2902.

Các thành phần không thành công có tên thành phần dài hơn 72 ký tự cho phép. (xem bảng thành phần) MSI ban đầu làm việc tốt mặc dù có tên dài, nhưng tôi đoán họ đã gây ra InstallShield để xây dựng không đúng cách MSI bằng cách nào đó. Không phải lỗi của InstallShield, mặc dù tôi nghĩ rằng nó đã gây ra lỗi trong quá trình xây dựng.

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