Mengapa tidak semua aplikasi 'portabel'?

45

Saya baru-baru ini mencoba untuk 'menginstal' barang-barang jauh lebih sedikit pada mesin Windows saya (saya benci installer - Saya perlu tahu di mana program meletakkan barang-barang ...), memilih untuk menggunakan versi aplikasi portabel atau mandiri.

Saya menempatkan semuanya dalam direktori 'Program' pada drive yang terpisah dari partisi Windows saya, jadi setiap kali saya menginstal ulang, saya memiliki semua aplikasi saya tersedia dengan sedikit usaha dan di sisi positifnya, saya mendapatkan pengaturan bersih yang bagus.

Aplikasi seperti Office dan Creative Suite masih mengharuskan saya untuk melalui proses instalasi yang sangat panjang di mana ribuan perpustakaan acak dan alat-alat dilemparkan ke sistem saya.

Mengapa aplikasi Windows masih perlu diinstal? Mengapa kita tidak bisa menyeret Photoshop ke folder à la OSX dan menjalankannya? Apakah ada orang lain yang fokus pada aplikasi portabel, atau saya hanya menjadi OCD tentang semuanya?

Tom
sumber
3
Jawaban atas pertanyaan tersebut menjelaskan sifat ingin tahu "mengapa". Namun, seruan "tapi mengapa" masih tetap (seperti dalam "tapi mengapa kita tidak bisa bergaul").
dbkk101
2
saya benci installer juga. tidak ada yang salah dengan Anda
Nick
2
Ini sepertinya pertanyaan yang salah. Jika Anda ingin menggunakan aplikasi portabel, pertanyaan yang benar tampaknya adalah: "Program mana yang portabel?" Misalnya, Anda mungkin berpikir bahwa Anda memerlukan MS Word, padahal yang benar-benar Anda butuhkan adalah program yang dapat membaca dan menulis file data .doc. Open Office akan melakukan itu ... dan, tidak seperti MS Word, itu tersedia dalam format portabel ... Saya punya salinannya (dan Abiword) pada flash drive yang menghabiskan seluruh waktunya terhubung ke laptop saya. Ada beberapa aplikasi portabel. portablelinuxapps.org menawarkan 184 untuk Linux, sedangkan portableapps.com/apps menawarkan
Sisa dari komentar Bill: ... aplikasi menu untuk Windows [bisa dibilang, keduanya termasuk pilihan utilitas sepele yang bagus]). Pilih yang Anda inginkan dan buang program non-portabel yang dapat Anda lakukan tanpa ... sebagian besar aplikasi saya hidup dengan kunci USB. Paling tidak, ini akan menyederhanakan sup spageti file di HD Anda.
studiohack
Juga menurut saya alat terbaik itu portabel. Saya mungkin bias.
Vlastimil Ovčáčík

Jawaban:

35

Pemasang adalah hasil dari evolusi bertahun-tahun dan sedikit (disederhanakan) sejarah membantu memahami mengapa mereka melakukan apa yang mereka lakukan.

Windows 3.1 model menyarankan file konfigurasi gaya config.ini per aplikasi dengan mendukung perpustakaan bersama masuk ke folder sistem untuk mencegah duplikasi dan ruang disk terbuang.

Windows 95 memperkenalkan registri yang memungkinkan penyimpanan pusat untuk konfigurasi aplikasi menggantikan banyak file konfigurasi. Lebih penting lagi, konfigurasi windows disimpan di tempat yang sama.

Registri menjadi bengkak karena aplikasi tidak membersihkan setelah diri mereka sendiri. Neraka DLL terjadi sebagai akibat dari beberapa versi dari perpustakaan bersama yang sama menimpa satu sama lain.

.NET memperkenalkan konsep app.config (hampir file ini menandai 2, kali ini dengan pengembang yang lebih hemat struktur membuang waktu untuk menulis parser manual). GAC diperkenalkan ke versi bersama majelis dalam upaya untuk mencegah DLL Hell.

Di Windows XP dan lebih di Vista, Microsoft berusaha untuk mendefinisikan ruang pengguna sebagai tempat untuk menyimpan data pengguna dan file konfigurasi dalam satu lokasi standar untuk memungkinkan untuk menjelajah profil dan migrasi mudah (cukup salin profil Anda) dengan aplikasi yang diinstal dalam Program Files .

Jadi saya kira, alasannya adalah bahwa "aplikasi di windows dirancang untuk hidup di satu tempat, ketergantungannya dibagikan di tempat lain, dan data spesifik pengguna di tempat lain", yang cukup banyak bertentangan dengan konsep xcopying satu lokasi.

.. dan itu sebelum Anda harus mengonfigurasi akun pengguna, dan mengatur serta memastikan izin keamanan, dan mengunduh pembaruan, dan menginstal layanan windows ...

xcopy adalah "kasus sederhana" dan tentu saja tidak cocok untuk semuanya.

David Whitney
sumber
1
Bagus, penjelasan sederhana!
alex
7
Alasan besar lain untuk pemasangan (terutama seperti Office) adalah bahwa tidak ada pengguna yang dapat mempengaruhi pengguna lain pada sistem yang sama jika mereka bukan administrator. Dengan Office 2007 dengan berat sekitar 500MB, jika pengguna ingin menggunakannya, mereka harus memiliki salinan lokal mereka sendiri. Itu akan menjadi 1,5GB untuk 3 pengguna di sistem yang sama! Google Chrome menginstal ke direktori pengguna lokal Anda, jadi jika Anda memiliki 10 pengguna yang semuanya memiliki Chrome, itu 10 versi berbeda yang harus diperbarui dan dipelihara. Jelas ada pro dan kontra untuk menginstal per pengguna versus penyebaran pusat.
Joshua
1
Beberapa aplikasi, seperti Photoshop (setidaknya sebelum CS4), dapat dengan mudah disalin dan ketika dimulai - akan membuat penyimpanan konfigurasi pengguna dan file yang dibutuhkan. Juga sebagian besar. Aplikasi NET bersifat portabel dengan desain tetapi, pengguna akhir mengharapkan installer selesai berikutnya - banyak yang bahkan tidak tahu apa itu sistem file.
Oskar Duveborn
Dapat juga dicatat bahwa meskipun aplikasi dimaksudkan untuk membagi pengaturan / pustaka / spesifik di tempat yang berbeda, itu bukan kebiasaan yang tersebar dengan baik. Saya sangat sering menemukan pengaturan untuk berbagai aplikasi yang disimpan dalam file di direktori program mereka, dan sangat sering perpustakaan yang dapat dibagi dihubungkan secara statis di direktori program. Karena tidak ada manfaat nyata melakukan sesuatu dengan satu cara atau yang lain untuk programmer, insentif untuk mematuhi aturan lemah dan pengembangan aplikasi barat liar terjadi :-). Juga, saya kira tradisi itu kuat.
Daniel Andersson
GAC hanyalah kedatangan kedua neraka DLL. Konsep yang bagus, tetapi dalam kehidupan nyata Anda berakhir dengan kebingungan karena file executable yang berbeda berikatan dengan versi berbeda dari file yang sama, dan beberapa versi file tersebut mungkin memiliki kelemahan keamanan. Ini adalah kekacauan yang sangat besar untuk dihadapi jika Anda membutuhkan lingkungan yang aman. Sekarang Anda benar-benar harus menambal versi berbeda dari file yang sama untuk menambal lubang keamanan yang sama. Hore! Perlu dicatat bahwa kebijakan dan pengalihan wajib dapat membantu, tetapi itu seperti mengatakan bantuan band membantu melawan luka terbuka.
Stein Åsmul
12

XCOPY penyebaran diumumkan oleh Microsoft sebagai yang jalan masa depan beberapa tahun yang lalu. Tetap tidak ada :)

Sementara itu, Anda mungkin tertarik dengan platform PortableApps.com.

Piotr Dobrogost
sumber
7

Pertanyaan bagus, saya menanyakan pertanyaan terkait Stack Overflow beberapa waktu lalu.

Jawabannya sering kali tampaknya "karena itulah cara kami melakukannya di masa lalu". Maaf tapi itu tidak mencuci dengan saya.

Beberapa yang lain mengatakan alasan utamanya adalah karena registri. Jika Anda berbicara tentang driver perangkat atau komponen COM lain dll, maka ya ini mungkin diperlukan, tetapi tidak untuk aplikasi GUI seperti pengolah kata atau spreadsheet.

Sangat mungkin untuk menulis aplikasi yang memeriksa saat start-up untuk pengaturan registri yang diperlukan, dan meminta pengguna untuk mereka / menggunakan default. Atau, seperti banyak aplikasi protable saat ini lakukan, pertama beri tahu pengguna bahwa integrasi OS saat ini terbatas karena Anda menjalankan dalam mode portabel.

Pemasang sering juga memiliki banyak "pengetahuan" tentang cara kerja aplikasi. Kemudian ketika aplikasi berubah, Anda seringkali harus memperbarui pemasang juga. Ini adalah penyebab klasik dari bug / masalah yang saya lihat dalam pemrograman waktu saya.

Ini pendekatan semua ukuran satu cocok.

Ash
sumber
6

Jawaban sederhana dan blak-blakan: itu hanya pertanyaan siapa yang memiliki kendali. Sebagian besar perangkat lunak saat ini dirancang oleh perusahaan raksasa untuk lingkungan perusahaan atau institusi di mana pengguna diberi tahu apa yang harus dilakukan daripada memberi tahu komputer mereka apa yang harus dilakukan untuk mereka.

Pertanyaan Anda sangat penting karena menimbulkan pertanyaan mendasar tentang hak-hak individu dan kebebasan yang semakin terkikis, bukan oleh tiran seperti di masyarakat zaman dulu, tetapi oleh keserakahan perusahaan dan kebutuhan sedikit untuk mengendalikan banyak.

Kenyataannya, kita tampaknya telah lupa bahwa orang yang sama persis yang dulu mengutuk tirani raksasa seperti IBM telah menjadi IBM di zaman sekarang ... Lihat saja praktik bisnis Microsoft, Apple. dan Adobe untuk menyebutkan beberapa dan memberi tahu saya dengan wajah lurus bahwa dengan lisensi ketat mereka lebih ramah daripada praktik bisnis IBM, IBM yang sama, yang dengan keterbukaan mereka, benar-benar memimpin jalan menuju revolusi komputasi pribadi ...

Saya telah menggunakan banyak aplikasi portabel mandiri selama bertahun-tahun dan tanpa kecuali mereka telah terbukti menjadi yang paling efektif, tercepat dan terkecil dalam hal jejak kaki dan sumber daya dan yang terakhir, namun tidak sedikit, mereka tidak hanya lebih unggul dari bloatware mereka. rekan, tetapi sebagian besar waktu, mereka juga gratis.

Ini saatnya untuk revolusi komputer pribadi kedua. Meningkatkan portabilitas dengan mengurangi mengasapi dan mengklarifikasi di mana pengaturan disimpan, dalam satu folder berbeda pada lokasi fisik yang berbeda pada media fisik berwujud, merupakan satu langkah ke arah yang benar.

Setia Lama
sumber
5

Kombinasi dari registri dan per penyimpanan pengguna. The registry adalah bagian penting, terutama jika aplikasi Anda COM berbasis (yang membutuhkan mendaftar, yang terjadi di registry). Penyimpanan per pengguna (konfigurasi dll) juga merupakan komponen penting. Satu-satunya cara yang baik untuk melakukan ini adalah menyimpannya di beberapa direktori yang dirancang khusus (lihat Penyimpanan Terpencil ).

C. Ross
sumber
Persis. Bagaimana OS dapat menemukan EXE atau DLL untuk memuat tanpa lokasi tetap? "Set oExcelApp = CreateObject (" EXCEL.APPLICATION ")" perlu berfungsi.
Zan Lynx
4

Sebagian besar karena registri windows - meskipun program Anda berada di direktori tertentu, pengaturan sering disimpan dalam registri.

Bisa juga karena program meletakkan file di direktori lain di komputer Anda selain direktori instal (system32 misalnya)

Eric Petroelje
sumber
3

Satu keuntungan besar bagi para instalatir dibandingkan tipe instalasi Xcopy / portable adalah perbaikan sendiri.

Aplikasi yang menggunakan sistem Pemasang Windows dengan benar akan memiliki semua jenis info tentangnya yang disimpan dalam basis data Pemasang Windows di mesin Anda, serta cukup sering menjadi cache bagian-bagian penting dari file pengaturan.

Jika aplikasi rusak karena suatu alasan (sesuatu yang lain menghapus / mengganti file, registri menjadi rusak, masalah disk, pengguna menghapus pintasan dll) maka jika itu merupakan "pintasan yang diiklankan" Installer benar-benar memeriksa file kunci dan kunci setiap kali dijalankan dan ganti jika tidak ada, atau Anda dapat masuk ke Add / Remove Programs dan klik Repair pada aplikasi.

GATambar
sumber
Mengapa satu-satunya hal yang dapat saya pikirkan saat membaca ini ikon desktop Adobe Reader? Yang satu itu begitu gila memperbaiki dirinya sendiri sehingga mengejutkan pikiran seseorang ^^
Oskar Duveborn
2

Saya pikir itu sebagian berkaitan dengan sejumlah besar aplikasi windows cruft perlu. Misalnya, kunci Registri, Data pengguna (/ Pengguna // AppData). Mungkin OSX hanya menangani ini dengan lebih baik / berbeda.

Sekali lagi bukan tidak mungkin untuk membuat aplikasi yang bisa Anda ekstrak dari arsip - Saya selalu senang ketika ini terjadi.

Ross
sumber
2

.Net Framework adalah platform untuk mengaktifkan fungsionalitas jenis ini, dan sebagian besar installer hanya digunakan karena inilah yang biasa digunakan oleh pengguna biasa. Cara yang sama pengguna Mac digunakan untuk menyalin file ke folder Aplikasi.

Sebagian besar penginstal hanya memperluas file ke folder Program Files dan membuat jalan pintas. Ini lebih merupakan kasus dari apa yang diketahui pengguna, dan seringkali lebih mudah untuk menjaga prosesnya tetap sama meskipun aplikasi tersebut portabel.

BinaryMisfit
sumber
2

Beberapa program mensyaratkan bahwa lokasi instal berada dalam registri, yang lain mungkin memiliki lokasi mereka dikodekan ke dalam program (ini adalah kasus untuk perl.exe).

Pada dasarnya alasan utamanya adalah pemrogram yang mengambil jalan keluar yang mudah, dan memasukkan sesuatu yang sulit ke dalam program, baik kunci registri, atau jalur hard-kode yang sebenarnya.

Brad Gilbert
sumber
2

Banyak aplikasi Windows harus memanfaatkan lingkungan atau layanan sistem, seperti SQL Server, IIS, WMI, domain keamanan, Active Directory, dan banyak lainnya. Pengguna biasa mungkin tidak tahu cara mengkonfigurasi ini, atau bahkan mungkin tidak memiliki akses ke sana.

Aplikasi seperti Microsoft Office bukan file tunggal; mereka berisi lusinan file, file executable, utilitas, layanan, template, plug-in, driver, dan sebagainya. Ketika Anda menginstal aplikasi, Anda tidak bisa hanya menimpa semua yang digunakan aplikasi baru, itu harus sesuai dengan apa yang sudah ada. Pemasang Windows melakukan lebih dari sekadar menyalin file, mereka dapat menanyakan lingkungan sistem, menjalankan skrip dan menginstal layanan, dan mengatur mesin seolah-olah mereka adalah administrator.

dbkk101 bertanya mengapa aplikasi Windows "tidak bisa hanya bergaul". Mereka bisa, itulah gunanya installer.

Lengkungan Tinggi
sumber
2

Memang dengan beberapa program, instalasi konyol tapi ada lebih dari sekadar "menyeret file ke direktori program".

Paling tidak, installer yang layak dengan mendekompres file instalasi dan mengatur pintasan yang sesuai dan membuatnya mudah untuk menghapus program ketika tidak lagi diinginkan. Saya pikir dekompresi dan copy mungkin yang paling lama.

Lalu ada file bersama - ini terutama berlaku di dunia Linux meskipun tidak begitu banyak di Windows IMO.

Yang paling penting, beberapa program perlu dikonfigurasi untuk mesin dan beberapa (saya kira setidaknya) upaya untuk mengoptimalkan berdasarkan pada mesin atau setidaknya itulah yang membuat dialog adobe membuat saya percaya.

Juga, saya belum pernah melihat alasan untuk menginstal pada partisi yang terpisah. Anda cenderung kehilangan semua nilai registri dan pengaturan konfigurasi Anda. Plus, saya sebenarnya lebih suka kerugian itu karena mengurangi Windows mengasapi.

wag2639
sumber