2015-10-14 22 views
5

Tôi có một ứng dụng C# sử dụng một DLL C++, cả hai đều đã viết. DLL C++ được biên dịch bằng cách sử dụng bộ công cụ v120 (Visual Studio 2013). Tôi cần bao gồm những phân phối lại nào trong trình cài đặt InstallShield để thực hiện chức năng này?Làm cách nào để biết C++ có thể phân phối lại bao gồm trong trình cài đặt InstallShield?

Không có tùy chọn cho gói phân phối lại VS2013, chỉ có các gói VS2012 khác nhau và hai gói cho VS2015.

một vài trong số các tùy chọn (unhelpfully tên): http://imgur.com/VuDNdNt

+0

Bạn cần bất kỳ thứ gì bao gồm MSVCR120.dll. Bạn chỉ có thể bao gồm DLL đó với chương trình của bạn, trong thư mục cài đặt, thay vì sử dụng trình cài đặt redistributable. EDIT: Để được an toàn, sử dụng tất cả các tập tin 'msvc * 120 * .dll', mặc dù bạn có thể bỏ qua những phần mà phần không mở rộng kết thúc bằng" d "; đó là để gỡ lỗi và bạn hy vọng được biên dịch để phát hành. – CBHacking

+3

Bạn có thể và ** phải ** bỏ qua những kết thúc trong D. Debug DLL không được cấp phép để phân phối. – MSalters

+0

Cảm ơn bạn đã trả lời! Tôi biết tôi cần tập hợp DLL đó, tuy nhiên các tùy chọn trong cấu hình InstallShield không cung cấp bất kỳ tùy chọn nào bằng số công cụ, cũng như bất kỳ tùy chọn nào có tên "VS2013" hoặc tương tự. Một vài trong số các tùy chọn có khả năng mà tôi đang gặp phải được hiển thị trong ảnh chụp màn hình này: http://imgur.com/VuDNdNt –

Trả lời

0

Bạn cần phải nhận được yêu cầu phân phối từ VS2013 cài đặt (C: \ Program Files (x 86) \ Microsoft Visual Studio 12.0 \ VC \ redist \ 1033). Sau đó, trong InstallShield bạn phải thực thi lệnh tùy chỉnh (redistr_exe với tham số/q/norestart)

0

Có một cách dễ dàng để nói điều này. Thêm các dll được bao gồm trong C++ redistributables và nó sẽ tự động thêm các mô-đun hợp nhất thay thế.

0

Thêm tệp (x86) .prq sau đây của Visual C++ 2013 Redistributable trong đường dẫn cài đặt Installshield. Trong đó là (C: \ Program Files (x86) \ InstallShield \ 2015LE \ SetupPrerequisites). http://pastebin.com/Yu5DM0kJ

Sau khi mở dự án Installshield, trong phân phối lại bạn sẽ thấy Visual C++ 2013 x86. Bạn có thể làm tương tự để thêm x64.

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