Mengapa ada begitu banyak Visual C ++ yang dapat didistribusikan?


19

Setiap kali saya menginstal game, atau bahkan OpenOffice, bagian dari rutin instalasi adalah menginstal Visual C ++ 2005/2008 lain yang dapat didistribusikan, tepat di sebelah 10 lainnya yang sudah saya miliki di sistem saya.

Mengapa begitu banyak versi berbeda (dari apa yang terasa seperti hal yang sama) diperlukan?


Saya tidak menginstal OpenOffice di Windows belakangan ini, tetapi AFAIK OO.org Java murni. Itu mengganggu!
lajuette

2
OO.org sebenarnya sebagian besar C ++ dengan beberapa komponen Java ( sumber ).
heavyd

ini tidak biasa. Saya berharap ada cara untuk menggulung mereka secara visual di tambah / hapus program sehingga Anda tidak harus melihat semuanya.
Keltari

Jawaban:


22

Redistributable Visual C ++ adalah komponen yang dikirimkan oleh pengembang aplikasi yang menggunakan Visual C ++ untuk menulis perangkat lunak mereka. Dengan menggunakan kode yang telah teruji baik dan banyak digunakan oleh Microsoft di dalam aplikasi mereka, pengembang menghemat biaya pengembangannya dengan menghindari penulisan kode yang umum digunakan (mis. Fungsi sin dan cos matematika dan penanganan elemen antarmuka pengguna yang umum seperti kotak teks atau tombol). Karena fragmentasi dalam versi runtime yang digunakan oleh pengembang aplikasi, Anda akan melihat daftar panjang Visual C ++ yang dapat didistribusikan kembali jika Anda menginstal banyak aplikasi. Menghapus instalan satu Visual C ++ yang dapat didistribusikan kembali dapat menghemat beberapa megabyte ruang disk, tetapi Anda berisiko melanggar beberapa aplikasi saat melakukannya.

Karena programmer mengandalkan Microsoft untuk menjaga runtime Visual C ++ tetap mutakhir, Microsoft merilis pembaruan keamanan untuk redistributables, tetapi karena tuntutan programmer, Visualistro ++ redistributables tidak menggantikan satu sama lain dan versi lama disimpan untuk kompatibilitas. Beberapa aplikasi sangat spesifik tentang versi Visual C ++ dll yang mereka perlukan untuk memastikan aplikasi berjalan persis seperti yang dipublikasikan. Penulis mereka terus memperbarui ke runtime terbaru sampai mereka menguji kompatibilitas aplikasi mereka dengan runtime baru. Ini adalah salah satu cara untuk mencegah beberapa ribu panggilan dari pelanggan yang marah setelah Microsoft merilis pembaruan untuk didistribusikan kembali. Namun sebagian besar aplikasi mengikat ke edisi terbaru dari versi utama yang sama,

Microsoft juga harus mendukung banyak runtime Visual C ++ karena tidak tahu yang mana yang akan dipilih oleh pengembang aplikasi. Beberapa versi dari Visual C ++ redistributables dapat diperlukan bahkan dalam aplikasi yang sama, misalnya, jika aplikasi yang bergantung pada Visual C ++ 2008 dapat didistribusikan menggunakan komponen tergantung pada Visual C ++ 2005 yang dapat didistribusikan, pengembang aplikasi harus mengirimkan kedua versi Visual C ++ yang dapat didistribusikan. Pada komputer 64 bit, sistem dapat memiliki edisi x86 dan x64 Visual C ++ Redistributables yang diinstal, karena Visual C ++ redistributable adalah komponen yang umum digunakan, dan normal untuk memiliki aplikasi 32bit dan 64 bit aplikasi (atau bahkan aplikasi yang mengandung kode 32 bit dan kode 64 bit) diinstal pada sistem 64 bit.

Anda mungkin dapat menemukan aplikasi memasang yang dapat didistribusikan kembali dengan mencari aplikasi dengan tanggal pemasangan yang sama dengan yang dapat didistribusikan kembali, tetapi tidak ada yang tahu berapa banyak aplikasi lain dengan tanggal pemasangan nanti tergantung pada yang dapat didistribusikan kembali yang sama. Jumlah waktu yang Anda habiskan untuk menemukan dependensi yang tepat kemungkinan besar tidak sebanding dengan beberapa megabyte yang dapat Anda hemat dengan menghapus instalan yang dapat didistribusikan.


Ini jawaban yang sangat bagus. Pengembang juga menargetkan versi tertentu. Fungsi dalam Rilis A tidak dijamin untuk bekerja dengan cara yang sama di Rilis B. Tentu saja pada dasarnya dasar akan tetap sama antara rilis dengan fitur-fitur baru Fitur C yang ada di Rilis B dan kemudian dan Fitur C yang hanya ada di Rilis C adalah masalah nyata yang dihadapi pengembang. Jadi mereka mendistorsi versi yang mereka gunakan dan mengkompilasi perangkat lunak mereka untuk hanya menggunakan versi itu. Dalam kasus khusus ini, beberapa rilis tanggal C ++ Redistributables dimungkinkan dari versi yang sama (yaitu Februari, Maret, April 2005).
Ramhound

3

Alasannya adalah mereka tidak sama. Pertama, Anda perlu memahami bahwa setiap versi MSVC ++ dikirimkan dengan pustaka runtime versi sendiri. Ada juga versi 32 dan 64 bit. Juga, ada paket layanan membawa versi terbaru dari perpustakaan runtime.

Jika Anda memiliki 10 instalasi, dapatkah Anda mencantumkan namanya? Saya tidak berpikir bahwa Anda harus memiliki lebih dari 4 (32 dan 64 bit untuk 2005 dan sama untuk 2008). Paket layanan harus mengganti versi yang tidak diperbarui.


1
Saya percaya ini benar - hanya ada 4 yang saya sadari dan perbaikannya adalah sekarang mereka dapat diinstal berdampingan. Build yang dibutuhkan tergantung pada apakah aplikasi memenuhi tautan statis atau dinamis ke runtime yang digunakan dalam kompilasi aplikasi. Ini dapat hidup berdampingan secara damai dan relatif kecil.
jtreser

+2 lagi untuk VS2010! Tetapi jika OP memiliki 10, itu terlalu banyak.
AndrejaKo

Yah, harus diakui, saya belum menghitungnya. Pada mesin saya di tempat kerja saya punya dua (2008 32bit dan 64bit, keduanya 9.0.sesuatu). Saya akan menghitungnya di rumah juga.
Tomalak

3
Saya memiliki 12 daftar. 2005 (2) (tidak ada spesifikasi atau versi yang tercantum) 2008 (8) x32 / x64 9.0.21022, 9.0.30729.17, 9.0.30729.4148, 9.0.30729.6161 2010 (2) x32 / x64 10.0.40219
Darren Hall

1
@ DarrenHall - Ini normal untuk memiliki banyak. Setiap versi berbeda dan Anda memiliki aplikasi yang menargetkan versi spesifik tersebut.
Ramhound

1

Ada banyak versi dari file C ++ yang dapat didistribusikan, kecuali Anda tahu persis program mana yang akan menggunakan file tersebut, bahkan menghapus satu saja dan setiap program yang menggunakannya akan dinonaktifkan secara permanen kecuali diinstal ulang.

Mereka yang memiliki banyak program diinstal akan memiliki banyak versi. Microsoft memperbolehkannya untuk didistribusikan kembali, jadi daripada menciptakan kode baru setiap kali, seorang pengembang bisa mengeluarkan salah satu dari mereka untuk Anda.

Mereka kecil dan tidak cukup besar untuk dikhawatirkan. Banyak dari mereka hanya KB, beberapa MB, dan lebih baik daripada program yang GB.

Saya tahu sangat sulit melihat banyak dari mereka ada di sana (saya punya 21 di antaranya), tetapi biarkan saja, program Anda akan ditutup jika Anda menghapusnya. Akan lebih baik jika pengembang program juga memberi label mereka untuk program individu, tetapi jika mereka melakukannya Anda akan memiliki ratusan lebih. Saat ini, program mendukung mereka, yang memungkinkan program untuk menggunakan pengkodean baik dari lama dan baru.

Saya memiliki gelar dalam jaringan komputer. Saya tidak akan memberi tahu Anda apa pun yang harus dilakukan pada komputer Anda yang tidak akan saya lakukan sendiri

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.