Saya mencoba membangun pemahaman umum untuk apa yang umum dalam situasi ini sehingga saya dapat memutuskan apakah masuk akal untuk melanjutkannya.
- 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.).
- 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?
- 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 outdir
properti:
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 \
...
- Project1 \
- Aplikasi _Published \
Dari sana, membuat zip yang dapat diekstraksi di berbagai lingkungan cukup tidak menyakitkan.
sumber
.msi
pemasang? Setidaknya, mereka dapat sepenuhnya otomatis dengan rasa sakit minimal. (sementara masih dapat dipahami untuk pengguna sesekali yang perlu melakukan pembaruan sendiri)Jawaban:
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.
Di sisi lain, jika Anda tidak memiliki tugas pengaturan yang perlu dilakukan, maka berikan saja file zip. Itu lebih sederhana daripada menjalankan installer.
sumber
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.
sumber
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.
sumber
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.
sumber