Neden tüm uygulamalar 'taşınabilir' değil?


45

Son zamanlarda Windows makinemde işleri daha az 'yüklemeye' çalışıyorum (kuruculardan nefret ediyorum - programların nereye yerleştirdiğini bilmem gerekiyor), bunun yerine uygulamaların taşınabilir veya bağımsız sürümlerini kullanmayı seçiyorum.

Hepsini Windows bölümümden ayrı bir sürücüdeki 'Programlar' dizinine koydum, bu yüzden ne zaman yeniden yüklersem, uygulamalarımın en az çabayla hazır olmasını sağlıyorum ve artı tarafta güzel bir temiz kurulum yapıyorum.

Office ve Creative Suite gibi uygulamalar, sistemime rastgele bin kitaplık ve aracın atıldığı çok uzun bir yükleme işleminden geçmemi istiyor.

Windows uygulamaları neden hala kuruluma ihtiyaç duyuyor? Photoshop'u neden bir OSX klasörüne sürükleyemiyoruz ve çalışsın? Başka biri taşınabilir uygulamalara odaklanıyor mu, yoksa her şey hakkında sadece OKB muyum?


3
Sorunun cevapları meraklı "neden" i açıklıyor. Ancak, ünlem işareti "ama neden" hala duruyor (olduğu gibi "ama neden hepimiz birlikte olamıyoruz").
dbkk101

2
Ben de montörlerden nefret ediyorum. yanlış bir şey yok
Nick

2
Bu yanlış soruya benziyor. Taşınabilir uygulamaları kullanmak istiyorsanız, doğru soru şöyle görünecektir: "Hangi programlar taşınabilir?". Örneğin, gerçekten ihtiyaç duyduğunuz şey .doc veri dosyalarını okuyabilen ve yazabilen bir program olduğunda MS Word'e ihtiyacınız olduğunu düşünebilirsiniz. Open Office bunu yapacak ... ve MS Word'den farklı olarak, taşınabilir bir formatta mevcut ... Tüm zamanlarını laptopuma bağlanan bir flash sürücüde (ve Abiword) bir kopyasına sahibim. Oldukça az sayıda taşınabilir uygulama var. portablelinuxapps.org Linux için 184 teklif verirken, portableapps.com/apps 232 +

Bill'in yorumunun geri kalanı: ... Windows için bir menü uygulaması [tartışmalı, her ikisi de önemsiz yardımcı programların iyi bir seçimini içerir]). İstediklerinizi seçin ve yapamayacağım taşınabilir olmayan programları yeniden konumlandırın ... uygulamalarımın çoğu bir USB anahtarında yaşıyor. Bu, en azından HD'nizdeki dosyaların spagetti çorbasını kolaylaştıracak.
studiohack

Ayrıca bana göre en iyi aletler taşınabilir. Önyargılı olabilirim.
Vlastimil Ovčáčík

Yanıtlar:


35

Tesisatçılar yıllarca süren evrimin bir sonucudur ve (basitleştirilmiş) tarihin bir kısmı neden yaptıklarını anlamalarına yardımcı olur.

Windows 3.1 modeli, çoğaltmayı ve boşa harcanan disk alanını önlemek için sistem klasörlerine giren paylaşılan kütüphanecileri destekleyen uygulama başına konfigürasyon stilleri önerir.

Windows 95, birçok yapılandırma dosyasının yerini alan uygulama yapılandırması için merkezi bir depoya izin veren kayıt defterini başlattı. Daha da önemlisi, Windows konfigürasyonu aynı yerde saklandı.

Tescil kendiliğinden temizlenemeyen uygulamalar nedeniyle şişirildi. DLL cehennemi, aynı paylaşılan kütüphanelerin birbirlerinin üzerine yazdığı birden çok sürümün bir sonucu olarak gerçekleşti.

.NET, app.config kavramını ortaya koydu (neredeyse 2 dosya markası, bu sefer biraz daha fazla yapı geliştiricisi ile zaman kaybetmeden el ile ayrıştırıcı yazma). GAC, DLL Cehennemini önlemek amacıyla sürüm paylaşımlı derlemelere tanıtıldı.

Microsoft, Windows XP ve Vista’da moreso’da, kullanıcı alanını, gezici profillere izin vermek ve Program Dosyalarında yüklü uygulamalarla kolay geçiş (sadece profilinizi kopyalamak için) sağlamak için kullanıcı verilerini ve yapılandırma dosyalarını tek bir standart konumda depolamak için bir yer olarak tanımlamaya çalıştı .

Sanırım, bunun nedeni, "pencerelerdeki uygulamalar bir yerde yaşamak üzere tasarlandı, başka bir yerde paylaşılan bağımlılıkları ve bir diğerinde kullanıcıya özel veriler", tek bir yeri xcopying kavramına karşı hemen hemen işe yarıyor.

.. ve bu, kullanıcı hesaplarını yapılandırmanız ve güvenlik izinleri kurmanız ve sağlamanız, güncellemeleri indirmeniz ve windows hizmetleri yüklemeniz gerekmeden önceki ...

xcopy, "basit durum" dür ve kesinlikle her şey için uygun değildir.


1
Güzel, basit bir açıklama!
alex

7
Yükleyicilerin (özellikle Office gibi) diğer bir büyük nedeni, yönetici olmadıklarında, hiçbir kullanıcının aynı sistemdeki başka bir kullanıcıyı etkileyememesidir. Office 2007 yaklaşık 500 MB ağırlığında, bir kullanıcı kullanmak isterse, kendi yerel kopyalarına sahip olmaları gerekir. Aynı sistemde 3 kullanıcı için 1,5 GB! Google Chrome, yerel kullanıcı dizininize kurulur; bu nedenle, tümü Chrome'a ​​sahip 10 kullanıcınız varsa, güncellenmesi ve bakımı gereken 10 farklı sürüm vardır. Açıkçası, merkezi bir dağıtım yerine kullanıcı başına kurulum için artıları ve eksileri var.
Joshua

1
Photoshop gibi bazı uygulamalar (en azından CS4 öncesi) kolayca kopyalanabilir ve başlatıldığında - gereken kullanıcı yapılandırma depolarını ve dosyalarını oluşturur. Ayrıca çoğu .NET uygulaması tasarım açısından taşınabilir ancak son kullanıcılar bir sonraki sistemin son kurucusunu beklemektedir - çoğu kişi bir dosya sisteminin ne olduğunu bile bilmez.
Oskar Duveborn

Ayrıca uygulamalar olsa bile dikkat çekilebilir anlamına farklı yerlerde bölme ayarları / kütüphaneler / ayrıntılarının, bir kuyu yayılmış özel değildir. Program dizinlerinde dosyalarda depolanan farklı uygulamalar için ayarları çok sık buluyorum ve paylaşılabilecek kütüphaneler program dizininde statik olarak birbirine bağlı. Programcılar için bir şekilde veya başka şeyler yapmanın gerçek yararları olmadığından, kurallara uyma teşviki zayıf ve vahşi batı uygulama geliştirme :-) gerçekleşir. Ayrıca, geleneğin güçlü olduğunu düşünüyorum.
Daniel Andersson

GAC sadece DLL cehenneminin ikinci gelişidir. Güzel konsept, ancak gerçek hayatta, farklı çalıştırılabilir dosyaların aynı dosyanın farklı sürümleriyle bağlanmasıyla karışıklığa neden olursunuz ve bu dosyaların bazı sürümlerinde güvenlik açığı olabilir. Güvenli bir ortama ihtiyacınız varsa başa çıkmanız çok güç. Şimdi aslında aynı dosyanın farklı sürümlerini aynı güvenlik açığını düzeltmek için yamalamanız gerekiyor. Yaşa! Politikaların ve zorunlu yönlendirmelerin yardımcı olabileceği belirtilmelidir, ancak bu bir yara bandı açık yaralara karşı yardımcı olduğunu söylemek gibidir.
Stein Åsmul

12

XCOPY dağıtım olarak Microsoft tarafından açıklandı birkaç yıl önce geleceğin yolu. Hala hiçbirşey :)

Bu arada, PortableApps.com platformuyla ilgilenebilirsiniz.


7

Harika bir soru, bir süre önce Stack Overflow ile ilgili bir soru sordum .

Cevap genellikle "Geçmişte böyle yaptığımızdan dolayı" gibi görünüyor. Üzgünüm ama bu benimle yıkamak değil.

Diğer birkaçı da, asıl nedenin kayıt yüzünden olduğunu söyledi. Bir aygıt sürücüsü veya diğer bir COM bileşeni vb. Hakkında konuşuyorsanız, evet, bu gerekli olabilir, ancak Word işlemcileri veya elektronik tablolar gibi GUI uygulamaları için bu gerekli olmayabilir.

Gerekli kayıt defteri ayarlarını başlatmayı denetleyen ve kullanıcıdan bunları isteyen / varsayılanları kullanan bir uygulama yazmak oldukça mümkündür. Veya, şu anda birçok protable uygulamada olduğu gibi, jst, kullanıcıya taşınabilir modda çalıştığınız için işletim sistemi entegrasyonunun sınırlı olduğunu bildiriyor.

Yükleyiciler genellikle uygulamanın nasıl çalıştığı hakkında çok fazla "bilgiye" sahiptir. Ardından, uygulama değiştiğinde, sık sık yükleyiciyi de güncellemeniz gerekir. Bu, zaman programlamamda gördüğüm hataların / sorunların klasik bir nedenidir.

Tek bedene uyan tek yaklaşım bu.


6

Basit ve açık cevap: basitçe kimin kontrol edebileceği sorusu. Günümüzde çoğu yazılım, bilgisayarlarına kendileri için ne yapacaklarını söylemek yerine, kullanıcılara ne yapmaları gerektiğini söyleyen kurumsal veya kurumsal ortam için şirket devleri tarafından tasarlanmıştır.

Sorunuz son derece önemlidir, çünkü eski toplumlarda olduğu gibi zorbalar tarafından değil, kurumsal açgözlülük ve çok sayıda insanı kontrol etme ihtiyacı ile bireysel hak ve özgürlükler hakkında giderek daha fazla aşınmakta olan temel bir soruyu gündeme getirmektedir.

Aslına bakarsan, IBM gibi devlerin zulmünü körükleyen aynı insanların, bugünün ve çağın IBM'leri haline geldiğini unutmuş gibiyiz ... Microsoft, Apple'ın ticari uygulamalarına yakından bakın. Adobe bir kaç isim vermeli ve bana kısıtlayıcı lisanslarıyla IBM'in ticari uygulamalarından daha iyi huylu olduğunu söyleyerek bana açıklıklarıyla kişisel bilgisayar devrimi yolunda öncülük etti.

Yıllar boyunca kendi içinde bulunan birçok taşınabilir uygulamayı kullanıyorum ve istisnasız en fazla, en az ve en az ayak izi ve kaynaklar açısından en küçük kanıtlar olduklarını kanıtladılar. meslektaşları, ancak çoğu zaman, onlar da ücretsizdir.

İkinci bir kişisel bilgisayar devrimi zamanı. Şişirmeyi azaltarak ve ayarların nerede depolandığını netleştirerek taşınabilirliği arttırmak, somut, fiziksel bir ortamda farklı bir fiziksel konumdaki ayrı bir klasörde, doğru yönde bir adımdır.


5

Kayıt defteri ve kullanıcı başına depolama bir arada. Kayıt sizin uygulamadır özellikle kritik parçadır COM (kayıt olur ki, kayıt gerektiren) tabanlı. Kullanıcı başına depolama (yapılandırma vb.) De önemli bir bileşendir. Bunu yapmanın tek iyi yolu, onu özel tasarlanmış bazı dizinlerde saklamaktır (bkz. İzole Depolama ).


Kesinlikle. İşletim sistemi, sabit bir konum olmadan yüklenecek EXE veya DLL dosyasını nasıl bulabilir? "Set oExcelApp = CreateObject (" EXCEL.APPLICATION ")" bir şekilde çalışmalı.
Zan Lynx

4

Çoğunlukla windows kayıt defterinden dolayı - programlarınız belirli bir dizinde olsa bile, ayarlar genellikle kayıt defterinde saklanır.

Programın, bilgisayarınızda bulunan ve dizin içindeki dosyaları başka dizinlere yerleştirmesinden de kaynaklanabilir (örneğin, system32).


3

Montajcılar için Xcopy / portatif montaj tipine göre büyük bir avantaj, kendi kendine onarımdır.

Windows Installer sistemini doğru kullanan bir uygulama, makinenizdeki Windows Installer veritabanına kaydedildiği hakkında her türlü bilgiye ve aynı zamanda kurulum dosyalarının önemli bölümlerinin bir önbelleğine sahip olacaktır.

Uygulama bir nedenden ötürü bozulursa (başka bir şey bir dosyayı siler / değiştirir, kayıt defteri bozulur, disk sorunları çıkarır, kullanıcı kısayolu vb. Siler) o zaman bir "reklamı yapılan kısayol" ise, Yükleyici aslında her başlatıldığında anahtar dosyaları ve anahtarları denetler ve mevcut değilse değiştirir veya Program Ekle / Kaldır seçeneğine gidip uygulamadaki Onar'ı tıklatabilirsiniz.


Bunu Adobe Reader masaüstü simgesini okurken neden düşünebileceğim tek şey? Bu kişi delicesine kendi kendini tamir ediyor, onun aklını
zorluyor

2

Uygulamaların ihtiyaç duyduğu büyük miktardaki ham pencere ile ilgili olduğunu düşünüyorum. Örneğin, Kayıt defteri anahtarları, Kullanıcı verileri (/ Kullanıcılar // AppData). Belki de OSX bunu daha iyi / farklı şekilde ele alıyor.

O zaman yine bir arşivden çıkarabileceğiniz uygulamalar oluşturmak imkansız değil - bu olduğunda hep mutluyum.


2

Net Framework bu tür bir işlevselliği mümkün kılan platformdur ve çoğunlukla kurucular sadece normal kullanıcıların alıştığı içindir. Aynı şekilde Mac kullanıcıları dosyaları Uygulamalar klasörüne kopyalamak için kullanılır.

Yükleyicilerin çoğu dosyaları basitçe Program Files klasörüne genişletir ve bir kısayol oluşturur. Daha çok kullanıcıların bildiği bir durumdur ve genellikle uygulama taşınabilir olsa bile işlemi aynı tutmak daha basit olur.


2

Bazı programlar, yükleme konumunun kayıt defterinde olmasını gerektirir;

Temel olarak asıl sebep, kolay çıkış yolu kullanan ve programlara bir şeyleri kodlayan ya da kayıt defteri anahtarları ya da gerçek kodlanmış yollar olan kodlayıcılardır.


2

Windows uygulamalarının çoğu, SQL Server, IIS, WMI, güvenlik alanları, Active Directory ve diğerleri gibi sistem ortamlarını veya hizmetleri kullanmalıdır. Tipik bir kullanıcı bunları nasıl yapılandıracağı hakkında hiçbir fikre sahip olmayabilir, hatta bunlara erişimi olmayabilir.

Microsoft Office gibi uygulamalar tek dosya değildir; onlarca dosya, çalıştırılabilir, yardımcı program, hizmet, şablon, eklenti, sürücü vb. içerir. Bir uygulamayı yüklediğinizde, yeni uygulamanın kullandığı her şeyin üzerine yazamazsınız, orada olanlara uymalıdır. Windows yükleyicileri dosyaları kopyalamaktan daha fazlasını yapar, sistem ortamını sorgulayabilir, komut dosyalarını çalıştırabilir ve hizmetleri yükleyebilir ve makineyi bir yöneticimiş gibi ayarlayabilirler.

dbkk101, Windows uygulamalarının neden "hepsi bir araya gelemediğini" soruyor. Yapabilirler, montajcılar bunun içindir.


2

Bazı programlarla verilen kurulum aptalcadır, ancak "dosyayı bir dizine sürüklemekten" çok daha fazlasıdır.

En azından, yükleme dosyasını açan iyi bir yükleyici ve uygun kısayolları ayarlayın ve artık istenmediğinde programı kaldırmayı kolaylaştırın. Dekompresyona göz atıyorum ve kopya muhtemelen en uzun süren şey.

Sonra paylaşılan dosyalar var - bu özellikle Windows IMO'da olmasa da Linux dünyasında geçerlidir.

En önemlisi, bazı programların makine için yapılandırılması gerekiyor ve bazıları (en azından sanırım) makineye veya en azından adobe iletişiminin bana inandırdığı şeyleri temel alarak optimizasyon yapmaya çalışıyorlar.

Ayrıca, ayrı bir bölüme yüklemek için hiçbir neden görmedim. Tüm kayıt defteri değerlerinizi ve yapılandırma ayarlarınızı kaybetme eğilimindesiniz. Ayrıca, aslında bu kaybı tercih ediyorum, çünkü Windows şişkinliğini azaltıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.