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.
.msi
pemasang? Setidaknya, mereka dapat sepenuhnya otomatis dengan rasa sakit minimal. (sementara masih dapat dipahami untuk pengguna sesekali yang perlu melakukan pembaruan sendiri)