Apakah Pemasang Windows untuk aplikasi bisnis internal masuk akal?

14

Saya mencoba membangun pemahaman umum untuk apa yang umum dalam situasi ini sehingga saya dapat memutuskan apakah masuk akal untuk melanjutkannya.

  1. Apakah pemasang diterima di lingkungan perusahaan yang khas dengan yang berikut ini?
    • Ubah proses kontrol
    • Lingkungan Dev / QA / Produksi
    • Tim penugasan yang ditunjuk untuk berbagai bidang (firewall, basis data, jendela, dll.).
  2. Apakah ada "tes lakmus" yang dapat diterapkan pada aplikasi untuk melihat apakah itu kandidat yang baik untuk membuat installer? *
    • Apakah installer cukup sederhana sehingga setiap aplikasi harus memilikinya?
    • Apakah installer bahkan alat yang tepat?
  3. Apakah masuk akal untuk mengharapkan pengembang untuk mempelajari sesuatu seperti WiX untuk mendukung installer?
    • Maintainability secara umum adalah masalah, yaitu, apakah menciptakan installer keterampilan niche?

*

Sebagai contoh, saya memiliki satu set aplikasi winform yang ada di direktori bersama di server produksi. Grup tertentu dapat menjalankan aplikasi dari direktori ini tetapi hanya admin sistem yang dapat memodifikasi executable. Proses penyebaran saat ini melibatkan memiliki admin menyalin / menempelkan executable dan perpustakaan ke direktori bersama.

Karena aplikasi tidak diinstal pada mesin pengguna individu, apakah masuk akal untuk membuat installer untuk menyebarkan versi baru dari aplikasi ini ke direktori bersama?

Edit--

Saya merasa bahwa jawaban di sini memberikan beberapa saran yang kuat sehingga saya ingin membagikan apa yang saya dapatkan untuk proyek saya saat ini di mana saya perlu membangun sejumlah besar aplikasi dan menyebarkannya ke folder individual.

Saya menemukan paket NuGet bernama _PublishedApplications yang meniru perilaku _PublishedWebsites untuk proyek web. Idenya adalah Anda menginstal paket NuGet ke proyek Anda dan itu menambahkan target yang akan menyalin artefak build ke direktori _PublishedApplications di jalur output. Perilaku ini diaktifkan dengan menjalankan MSBuild dari baris perintah dan menentukan outdirproperti:

msbuild /p:Configuration=Release /p:outdir=C:\path\to\outdir MySolution.sln

Ini akan memberi Anda struktur direktori yang mirip dengan yang berikut:

  • C: \ path \ to \ outdir
    • Aplikasi _Published \
      • Project1 \
        • dlls, exes, etc.
      • Project2 \
        • ...

Dari sana, membuat zip yang dapat diekstraksi di berbagai lingkungan cukup tidak menyakitkan.

pengguna1529856
sumber
6
Jika Anda harus menyediakan pemasang, dapatkah Anda menyediakan .msipemasang? Setidaknya, mereka dapat sepenuhnya otomatis dengan rasa sakit minimal. (sementara masih dapat dipahami untuk pengguna sesekali yang perlu melakukan pembaruan sendiri)
ZJR
Sebagai contoh Anda: Saya memiliki skrip yang mencoba mengubah nama direktori produksi menjadi nama sementara, menyalin semua file aplikasi ke dir yang diubah namanya, dan kemudian mengganti nama direktori produksi kembali ke nama lamanya (dan itu tidak memeriksa kesalahan setelah masing-masing (! ) langkah). Keuntungannya adalah selama seseorang menggunakan versi lama, penggantian nama yang pertama gagal dan Anda tidak merusak lingkungan produksi. Admin yang baik mungkin bisa membuat skrip semacam itu sendiri, tetapi yang lain mungkin berterima kasih jika Anda menyediakan "pemasang" semacam itu untuk mereka. Sangat tergantung pada organisasi Anda.
Doc Brown
@ Mark0978: apakah saya mencium kata-kata kasar "Linux" vs. "Windows" di sini? Ini adalah topik 100% off di sini.
Doc Brown

Jawaban:

20

Pemasang selalu masuk akal, jika penyebaran membutuhkan sesuatu yang lebih rumit daripada menyalin file yang relevan ke beberapa folder dan menjalankan EXE. Jika ada langkah-langkah tambahan yang perlu diambil untuk mengatur produk dengan benar, ada dua cara untuk mengatasinya.

  1. Anda dapat menulis daftar untuk diikuti seseorang. Manusia adalah manusia, seseorang pasti mengacaukannya, dan kemudian memanggil Anda untuk meminta bantuan karena program Anda tidak berjalan dengan benar.
  2. Anda dapat menulis daftar untuk diikuti oleh komputer (skrip instalasi). Ini membuatnya lebih kecil kemungkinannya bahwa kesalahan pengguna akan mengacaukan penyebaran.

Di sisi lain, jika Anda tidak memiliki tugas pengaturan yang perlu dilakukan, maka berikan saja file zip. Itu lebih sederhana daripada menjalankan installer.

Mason Wheeler
sumber
11

Wyatt melepas topi pemrogramnya dan mengenakan topi Direktur IT-nya

Jika ini merupakan jalur internal aplikasi bisnis maka Anda hanya perlu membidik satu lingkungan - kata bisnis. Saya akan memanggil kepala IT dan bertanya kepadanya bagaimana mereka ingin mengelola penyebaran. Departemen TI telah menangani hal ini untuk sementara waktu sehingga mereka mungkin memiliki preferensi yang kuat untuk opsi berbasis xcopy atau MSI atau sesuatu yang sepenuhnya seperti opsi Anda saat ini.

Saya akan menambahkan bahwa departemen paling tidak akan menghargai gerakan itu dan mungkin bisa menjadi sekutu yang berharga karena kemungkinan mereka tahu lebih banyak tentang lini aplikasi dan masalah bisnis yang ada daripada yang Anda sadari.

Wyatt Barnett
sumber
5
+1 Ross meminjam topi Wyatt dan menambahkan bahwa tim TI suka installer karena mereka meninggalkan sidik jari yang mengatakan " benda ini dipasang ".
Ross Patterson
3
Topi IT saya mengatakan build di HTML5 dan berhenti menginstal sesuatu di desktop!
boatcoder
8

Aplikasi Penginstal Windows banyak digunakan untuk menginstal aplikasi bisnis internal di lingkungan menggunakan Windows. Anda juga harus bertanya pada diri sendiri apakah selama masa berlaku aplikasi itu kemungkinan akan perlu diperbarui, ditambal, diperbaiki, atau dihapus secara bersih dari sistem pengguna. Dalam banyak kasus jawabannya adalah "ya" - dalam hal ini memiliki installer yang ditulis dengan benar dapat mengurangi total biaya pemeliharaan aplikasi dari waktu ke waktu. Ada layanan dan fitur lain yang dirancang untuk bekerja dengan Pemasang Windows, seperti Restart Manager dan WMI dan fungsi inventaris produk dan patch. Jika aplikasi Anda dapat mengambil manfaat dari ini, maka itu alasan lain untuk memasukkan installer.

Biaya dimuka untuk mengembangkan installer yang berguna untuk aplikasi Anda mungkin terbayar dalam jangka panjang, dan biaya pengembangan dapat dikurangi dengan memilih alat pembuat Windows Installer yang sesuai, seperti WiX atau InstallShield atau yang lain.

Mark Rovetta
sumber
7

Seperti halnya semua keputusan teknik, itu tergantung.

Mungkin faktor yang paling penting adalah untuk memahami siapa konsumen proses instalasi Anda dan keahlian apa yang dimiliki tim pengembangan.

Karena ini internal, saya menganggap itu digunakan oleh departemen TI internal. Mereka mungkin bukan orang asing di bawah perintah kerang.

Wizard pemasangan grafis berguna untuk perangkat lunak yang didistribusikan secara langsung ke pelanggan eksternal karena asumsi sederhana tentang konfigurasi Anda tidak lagi valid, seperti lokasi server file, kebijakan keamanan, dll. Oleh karena itu, Anda perlu memandu setiap pengguna melalui memilih sendiri pengaturannya.

Di lingkungan Anda, hal-hal ini mungkin ditentukan oleh pengembangan atau TI dan jarang berubah. Oleh karena itu, saya sarankan menggunakan skrip shell untuk menyalin file ke tempat yang sesuai. Skrip harus hidup dalam produk Anda sebagai bagian dari paket yang dirilis. Itu juga harus dikendalikan versi bersama dengan aplikasi Anda.

Di mana saya bekerja, seluruh aplikasi web kami diinstal melalui wizard InstallShield, yang menanyakan banyak pertanyaan, sebagian besar di antaranya adalah lokasi sistem file, informasi koneksi db, dan pengaturan lain yang hanya berakhir pada file konfigurasi. Sulit untuk diotomatisasi. Karena instalasi aplikasi web pada intinya baru saja membuat beberapa database dan menyalin file, saya menulis installer baru menggunakan Ant atau Powershell yang hanya menjalankan file .sql dan menyalin file.

Maka semua orang dapat memahami cara kerjanya dan memeliharanya dengan lebih efektif.

Brandon
sumber
Saya pikir menggunakan skrip akan menjadi solusi yang layak untuk apa yang saya butuhkan. Saya khawatir bahwa itu mungkin menciptakan kembali fungsi penginstal dan jadi saya mencari untuk melihat apakah mungkin akan lebih mudah untuk pergi rute penginstal. Dari jawaban Anda kedengarannya seperti installer mungkin berlebihan dan tidak mudah dirawat.
user1529856
Persis. Ini menciptakan kembali fungsi penginstal, tetapi penginstal yang mungkin berlebihan.
Brandon