Tôi vừa cài đặt vs2012
và tôi đã cập nhật ứng dụng ClickOnce của mình. Để chính xác hơn, lần đầu tiên tôi mở C++ project
(tùy thuộc vào dự án C# chính của tôi) Tôi đã không cập nhật nó và mọi thứ hoạt động tốt. VS 2012
vẫn có thể xem điều kiện tiên quyết Visual C++ 2010. Sau đó tôi đã cập nhật dự án của mình bằng cách thay đổi Platform Toolset thành "Visual Studio 2012 (v110)"
trong Properties->Configuration Properties->General
.Thiếu điều kiện tiên quyết cho Visual C++ trong Visual Studio 2012
Trong khi chờ đợi, tôi đã cài đặt ngay cả software
và bây giờ tôi phát hiện ra rằng tôi không thể thêm điều kiện tiên quyết Visual C++ vào dự án của tôi để xuất bản ClickOnce. Các điều kiện tiên quyết Visual C++ 2010 Runtime Libraries (x64)
được đánh dấu bằng một hình tam giác màu vàng và nó là mất tích. Lý tưởng nhất là tôi muốn cập nhật thành Visual C++ 2012 Runtime Libraries x64 (and x86)
, nhưng ngay cả điều kiện tiên quyết này cũng bị thiếu.
Tôi đoán đó là do thực tế rằng trong thư mục C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages
gói tương ứng (vcredist_x64)
trống. Tôi cũng nhận thấy rằng trong danh sách các chương trình đã cài đặt trong Control Panel, tôi đã cài đặt Microsoft Visual C++ 2010 x64
và x86
, cả phiên bản Redistributable và phiên bản Thời gian chạy (tôi nghĩ chúng đã được cài đặt trước đó với Visual Studio 2010). Tệp C++ 2012. Do đó tôi đang tranh luận rằng Visual C++ 2012 đã không đến với nhau với Visual Studio 2012, phải không? Tôi thậm chí đã cố gắng để cài đặt các gói Visual C++ 2012 Redistributable x64 bằng cách tải xuống chúng và bây giờ chúng được liệt kê trong các chương trình đã cài đặt của tôi 8only the Redistributable, chứ không phải phiên bản Runtime).
Tuy nhiên, điều kiện tiên quyết vẫn còn thiếu. Làm sao tôi có thể giải quyết việc này? Tôi thậm chí còn nghĩ về việc sao chép thủ công gói bootstrapper cho Visual C++ 2010 nằm trong thư mục ... \v7.0A\Bootstrapper\Packages
và thay đổi nó theo cách thủ công cho C++ 2012 nhưng tôi không biết mình nên viết gì trong product.xml
theo <MsiProductCheck Property="VCRedistInstalled" Product=?>
. Có vẻ như sản phẩm GUID để chèn thông tin này có thể được lấy bằng Bootstrapper Manager, nhưng chương trình này đang ném rất nhiều ngoại lệ và tôi không biết làm thế nào để làm điều đó. Như một giải pháp thứ hai là nó an toàn để chỉ đơn giản là sao chép các gói cho Visual C++ 2010 từ \\v7.0A\Bootstrapper\Packages\Bootstrapper\Packages to \v8.0A\Bootstrapper\Packages
?
Cảm ơn, làm thế nào về vcredist_x64.exe? – Berezh
Câu trả lời của Noam là chính xác, ngoại trừ việc msbuild không thích hai bản sao của dòng "xml version ...". Tôi đã xóa một và tôi có thể chạy msbuild trên tập lệnh để tạo tệp thiết lập. –