Ini adalah pertanyaan filosofis.
Diberikan aplikasi desktop hipotetis, dan keinginan untuk menyediakan pembaruan otomatis (alih-alih memaksa orang pergi ke situs web, periksa pembaruan, unduh pembaruan, instal), manakah di antara keduanya yang lebih merupakan pendekatan "praktik terbaik"?
Seperti iTunes , ia memeriksa untuk melihat apakah ada versi baru dan meminta pengguna untuk mengunduh versi baru. Jika demikian, ia mengunduh executable instalasi lengkap (dalam hal ini, file Pemasang Windows (.msi)) yang menginstal versi lengkap (bukan hanya pemutakhiran ke versi sebelumnya - terlalu banyak untuk dikelola jika ada banyak versi di luar sana) . Jadi, katakanlah, ini versi 10.1.1 - apakah Anda menginstal baru atau meningkatkan, Anda menggunakan file yang sama. Setelah diunduh, itu memerintahkan pengguna untuk menutup aplikasi dan menjalankan sendiri file instal.
Mirip dengan yang lain, ia memeriksa versi baru dan meminta pengguna untuk mengunduhnya, tetapi alih-alih hanya mengunduh yang dapat dieksekusi dan mendorong pengguna untuk menjalankannya, itu benar-benar menjalankannya untuk mereka - mematikan program yang telah mereka buka, memperolehnya keamanan yang diperlukan untuk menginstal file.
Masalah dengan # 2: banyak masalah seputar penutupan program, karena program dapat membuka program lain ( Outlook dan Excel ), atau bagaimana jika pengguna berada di tengah-tengah sesuatu. Juga tentang keamanan, Anda memerlukan akses administrator lokal untuk menginstal, bagaimana jika Anda tidak memilikinya? Di versi Windows yang lebih baru, Anda tidak bisa hanya mengabaikan keamanan orang tersebut.
Masalah dengan # 1: beberapa orang percaya ini akan terlalu sulit, terlalu banyak usaha untuk pengguna akhir.
Saya akan sangat memilih untuk pergi dengan # 1 karena akan menghemat 80-120 jam pada proyek saya, dan lebih mudah untuk diterapkan dan dipelihara. Namun, kami memiliki orang-orang yang merasa kuat di semua sisi.
Apa praktik terbaik untuk hal semacam ini?
sumber
Jawaban:
Secara pribadi, saya lebih suka pendekatan Google Chrome. Direktori dasar dengan peluncur, dan subdirektori untuk setiap versi perangkat lunak yang diinstal. Peluncur hanya mencari nomor versi tertinggi dan menggunakannya dan menghapus versi yang lebih lama sesuai kebutuhan. Tugas pembaru berjalan sangat sering untuk mengunduh dan membuat direktori baru. Ketika versi baru diinstal, aplikasi yang berjalan meminta restart untuk menggunakan versi baru.
sumber
Anda seharusnya tidak membuat entri startup yang tidak perlu untuk memeriksa pembaruan seperti Adobe Flash Player (sulit untuk melacak semuanya, dan saya tidak dapat menemukan cara untuk menonaktifkan pemeriksaan ...) atau iTunes. Itu mengganggu pengguna (Geeks, anyways). Opsi yang lebih baik adalah memeriksa pembaruan di startup aplikasi seperti yang dilakukan Firefox .
Sederhana "Instal pembaruan?" jendela tidak akan mengganggu pengguna. Biarkan pembaruan di latar belakang saat pengguna melakukan hal-hal lain, dan kemudian secara otomatis memulai aplikasi Anda.
Pastikan untuk menyertakan opsi:
Atau yang serupa.
Jika itu sepadan dengan usaha, saya akan mengatakan untuk itu. Itu keputusanmu.
sumber
Saya pikir Anda menginginkan pengaturan "ClickOnce".
http://msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx
ClickOnce adalah teknologi penyebaran yang memungkinkan Anda membuat aplikasi berbasis Windows yang memperbarui sendiri yang dapat diinstal dan dijalankan dengan interaksi pengguna yang minimal. Penempatan ClickOnce mengatasi tiga masalah utama dalam penerapan:
Kesulitan dalam memperbarui aplikasi. Dengan penyebaran Pemasang Microsoft Windows, setiap kali aplikasi diperbarui, pengguna harus menginstal ulang seluruh aplikasi; dengan penyebaran ClickOnce, Anda dapat memberikan pembaruan secara otomatis. Hanya bagian-bagian dari aplikasi yang telah diubah yang diunduh, dan kemudian aplikasi yang lengkap dan diperbarui diinstal ulang dari folder berdampingan yang baru.
Dampak ke komputer pengguna. Dengan penyebaran Windows Installer, aplikasi sering bergantung pada komponen bersama, dengan potensi konflik versi; dengan penyebaran ClickOnce, setiap aplikasi mandiri dan tidak dapat mengganggu aplikasi lain.
Izin keamanan. Penempatan Pemasang Windows memerlukan izin administratif dan hanya mengizinkan instalasi pengguna terbatas; Penerapan ClickOnce memungkinkan pengguna non-administratif untuk menginstal dan hanya memberikan izin Keamanan Akses Kode yang diperlukan untuk aplikasi.
sumber
Saya pribadi datang untuk menghargai aplikasi yang melakukan sesuatu yang mirip dengan kerangka kerja Sparkle . Saya kira itu hanya untuk Mac, tetapi pada dasarnya melakukan hal-hal berikut (dari atas kepala saya - saya berasumsi perilaku tersebut dapat disesuaikan).
Menimbang bahwa Anda berbicara tentang .msi, kerangka kerja khusus ini tidak benar-benar berlaku, tetapi dalam hal ini saya lebih suka menggunakan beberapa solusi yang ada daripada menciptakan kembali roda.
sumber
Saya akan mengatakan Anda benar-benar harus tahu pengguna Anda. Jika mereka cerdas dan atau memiliki minat yang kuat untuk tetap up to date, # 1 akan bekerja.
Jangan pernah meremehkan kemalasan pengguna karena ketika program mereka tidak berfungsi lagi karena mereka tidak lagi didukung, Anda akan dibanjiri panggilan telepon bantuan nanti.
Waktu akan datang dari pengembangan (# 2) atau dukungan (# 1).
sumber
Bagaimana dengan ini?
Anda tidak perlu mengganggu pengguna, Anda tidak perlu menutup apa pun ...
sumber
Kenapa tidak ada sesuatu di tengah?
Prompt untuk mengunduh (atau membuat opsi "unduh secara otomatis"), setelah selesai meminta untuk menginstal pembaruan yang diunduh (jalankan .msi). Dengan cara ini Anda meniadakan kelemahan # 2 (ditutup di tengah-tengah pekerjaan pengguna) namun tetap nyaman dengan biaya 1 klik lebih banyak.
Dialog " Tutup dan instal pembaruan? " Harus mudah diakses (tetapi tidak mengganggu) ketika pengguna menolak pada awalnya. Dengan memiliki "Luncurkan <nama program>?" centang pada akhir .msi akan hampir seperti # 2 dengan tidak benar-benar bekerja lagi
@ keamanan
Program di Windows modern dapat meminta izin untuk melakukan tindakan yang memerlukan hak admin (pengguna ditampilkan prompt di mana ia mengetik kata sandi admin dan kemudian memilih "ya / tidak" apakah akan memberikan izin)
sumber
Saya memiliki 124 Pegadaian yang menggunakan aplikasi desktop Manajemen Pegadaian saya. Setiap kali saya memiliki pembaruan baru, saya menyiarkan email kepada mereka untuk memberi tahu mereka tentang pembaruan dan detailnya. Kemudian mereka memiliki opsi untuk FTP dengan masuk ke situs web saya. Mereka juga memiliki opsi untuk mengembalikan pembaruan. Situs web saya juga melacak setiap versi pegadaian yang diinstal.
sumber