19

Tôi có một ứng dụng nhắm mục tiêu lớn .NET 4.0.3 cần chạy trên XP. Nó xây dựng tốt bằng cách sử dụng Visual Studio 2010 SP1 và chạy đúng trên XP.Làm cách nào để nhắm mục tiêu .NET 4.0.3 trên XP bằng Visual Studio 2012? Ứng dụng không chạy được với "không phải là ứng dụng Win32 hợp lệ"

Xây dựng bằng cách sử dụng nhắm mục tiêu Visual Studio 2012 .NET 4.0.3 cũng xây dựng tốt và chạy tốt trên Windows 7 nhưng không chạy được trên XP. Tôi nhận được một lỗi nói MyApp.exe không phải là một ứng dụng Win32 hợp lệ.

Làm cách nào để tiếp tục nhắm mục tiêu .NET 4.0.3 với hỗ trợ cho các máy XP sử dụng Visual Studio 2012?

+1

Visual Studio 2012 không hỗ trợ Windows XP làm mục tiêu mà không có một số giải pháp (xem http://www.microsoft.com/visualstudio/11/en-us/products/compatibility). – Dai

+1

Tôi có thể xây dựng một ứng dụng .NET 4.0 sử dụng Visual Studio 2012 và nó chạy tốt trên XP. Nó dường như có vấn đề với .NET 4.0.3. – KTrace

+0

Tính năng này có hoạt động trên máy XP sau khi cài đặt http://www.microsoft.com/en-gb/download/details.aspx?id=29053 không? – PhonicUK

Trả lời

7

Tôi không chắc chắn điều này sẽ hiệu quả, nhưng hãy thử mẹo shown here để đặt phiên bản hệ thống con theo cách thủ công bằng EditBin.exe.

+0

hey, nó hoạt động! Cảm ơn bạn. – Sebastian

+1

Trong môi trường VS2012, sử dụng 'editbin.exe" $ (TargetPath) "/SUBSYSTEM:WINDOWS,5.01/OSVERSION: 5.1' – Sebastian

9

Chúng tôi cũng gặp sự cố này. Nó không phải là vấn đề của khung ứng dụng của bạn đang nhắm mục tiêu (chúng tôi đang nhắm mục tiêu các khách hàng 4.0).

Vấn đề là Visual Studio 2012 sẽ không tạo ra nhấp chuột khi setup.exe chạy trên XP. Các lỗi là sai lầm vì nó luôn luôn báo cáo rằng chương trình không phải là một ứng dụng Win32 hợp lệ. Nó thực hiện điều này trên bất kỳ phiên bản nào của XP bao gồm cả các phiên bản 64 bit.

Nó không phải là ứng dụng của bạn gây ra vấn đề, nó là setup.exe được sản xuất bởi VS2012. Cách duy nhất chúng tôi đã tìm thấy để có được xung quanh nó là để xuất bản bằng cách sử dụng VS2010.

0

VS2012 Cập nhật 1 có nghĩa vụ phải giải quyết vấn đề này. Tuy nhiên, tôi không chắc chắn những tùy chọn để sử dụng mặc dù, là nó Toolset theo Project Properties-> General-> Platform Toolset?

+1

Điều đó giải quyết nó chỉ cho các ứng dụng gốc – Sebastian

+0

Lưu ý rằng đây không phải là thuộc tính dự án, nhưng các thuộc tính giải pháp. – Mark

1

Có thể đặt các yêu cầu hệ thống đích trong Thuộc tính dự án -> Xuất bản -> Bảng điều kiện tiên quyết (VS2012 với Bản cập nhật 1). Mặc dù bạn đang xây dựng cho .NET 4 (Project Properties -> Application -> Target Framework), bạn sẽ cần phải thay đổi các điều kiện tiên quyết từ 4.5 đến 4 vì nó sẽ không tự động xóa các yêu cầu.

xây dựng với mục tiêu của 4 nhưng prereq 4,5 sẽ bắt đầu cài đặt nhưng thất bại về kiểm tra hệ thống

+0

Cảm ơn thông tin này .. đã giải quyết được sự cố của tôi – gezzuzz

0

này làm việc cho tôi - chỉ cần xây dựng giải pháp của bạn trong Studio 2012, và tham gia một bản sao của các nội dung của giải pháp từ thư mục Gỡ lỗi. Đảm bảo máy khách XP đã cài đặt .net 4.

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