9

Tôi thề rằng Microsoft càng phát triển "Visual Studio" càng trở nên càng dốt nát.BadImageFormatException x64 Số phát hành

Tôi có Dịch vụ Windows với 3 thư viện lớp trong đó. Tôi đã đi vào các thuộc tính cho mỗi thư viện lớp và đặt mục tiêu nền tảng thành x64. Tôi đã làm điều tương tự với Dịch vụ Windows cũng như với dự án Test Console mà tôi đã thêm vào để xác minh mọi thứ.

Tôi có thể chạy ứng dụng bảng điều khiển trên máy chủ Windows 2008 R2 x64 của mình mà không gặp vấn đề gì nhưng trình cài đặt ngu ngốc vẫn tiếp tục ném bom và cho tôi biết rằng tôi có hình ảnh xấu. Tôi đã đảm bảo rằng tôi đã đặt nền tảng đích của trình cài đặt thành x64.

Tôi không có ý tưởng ý tưởng là điều ngu ngốc này sẽ bị đánh bom và thực sự đánh giá cao bất kỳ thông tin chi tiết nào. Tôi tham khảo các file DLL khác và có thể là x86 nhưng tôi nghĩ rằng nếu các thư viện chính được thiết lập đúng cách thì mọi thứ sẽ hoạt động ...

+4

Bạn có thể muốn xem các từ bạn sử dụng để mô tả vấn đề này vì hoàn toàn có thể là do lỗi của bạn chứ không phải lỗi của Microsoft. –

+1

Âm thanh như ai đó có kiến ​​trúc không phù hợp ... –

+0

Vì tôi đã làm việc với công nghệ MS từ đầu những năm 90, tôi nghĩ rằng tôi đủ điều kiện để chứng thực sự suy giảm nhanh chóng về tính hữu ích tổng thể của nó. –

Trả lời

20

Cuối cùng tôi đã tìm ra điều này - nó KHÔNG có liên quan đến kiến ​​trúc, tài liệu tham khảo hoặc bất kỳ vô nghĩa và mọi thứ phải làm với bản thân trình cài đặt. Vì bài viết này giải thích - http://blogs.msdn.com/b/heaths/archive/2006/02/01/64-bit-managed-custom-actions-with-visual-studio.aspx - Trình cài đặt Visual Studio, theo mặc định, sử dụng một DLL 32 bit và đó là nguyên nhân gây ra lỗi.

Để khắc phục vấn đề này, chỉ cần làm theo các bước sau:

  1. Hãy chắc chắn rằng bạn đi vào Properties => Xây dựng tab cho mỗi dự án và thiết lập Nền tảng mục tiêu để x64
  2. Bấm vào tên của Dự án cài đặt của bạn và sau đó Thuộc tính và đảm bảo rằng Nền tảng mục tiêu là x64
  3. Xây dựng giải pháp của bạn - nếu giải pháp không biên dịch, nhấp chuột phải và Hủy dự án và sau đó tải Porject cho các dự án có tham chiếu không thành công.
  4. Đi tới http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=3138 và tải xuống và cài đặt SDK 7 INstaller
  5. Đi vào thư mục C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ Bin và cài đặt Orca bằng cách nhấp đúp vào Orca .msi nộp
  6. Run Orca và mở thư mục MSI dự án của bạn
  7. Chọn bảng binary
  8. kích đúp vào tế bào [binary Data] cho các hồ sơ InstallUtil
  9. Hãy chắc chắn rằng "đọc nhị phân từ filename" được chọn
  10. Nhấp vào lỗ Duyệt qua vào Browse để C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
  11. Chọn InstallUtilLib.dll
  12. Nhấp vào nút Open và sau đó vào nút OK

Đó là nó - lưu tập tin MSI của bạn trong Orca và sau đó triển khai nó - cài đặt x64 sẽ hoạt động mà không có bất kỳ vấn đề nào khác.

+6

Nhân tiện, cảm ơn bạn đã đánh giá thấp bạn MS - đây là vấn đề chính đáng cùng với một loạt các vấn đề khác của MS và thực tế bạn không thể chịu đựng những lời chỉ trích đáng tin cậy nói về bạn. –

+2

Cảm ơn Ken, cuối cùng là một giải pháp làm việc. Tôi có một câu hỏi. Có thể tự động thực hiện việc này dưới dạng sự kiện được tạo sau không? Thực hiện thủ công việc này cho hàng tá trình cài đặt onf mỗi bản phát hành tốn nhiều thời gian ... – KenGey

+0

[Orca 5.0.7693.0 (2.1MB)] (http://goo.gl/EOCZi) mà không có toàn bộ SDK từ [Orca 5 - msi editing tool for Windows 7] (http://myserverissick.com/2011/04/orca-5-msi-editing-tool/) –

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