Bu durumda ortak olan şey için genel bir anlayış geliştirmeye çalışıyorum, böylece daha fazla takip etmenin mantıklı olup olmadığına karar verebiliyorum.
- Tesisatçılar aşağıdakilerle tipik bir kurumsal ortamda hoş karşılanıyor mu?
- Değişiklik kontrol süreci
- Dev / QA / Üretim ortamları
- Çeşitli alanlar (güvenlik duvarı, veritabanı, pencereler, vb.) İçin belirlenmiş dağıtım ekipleri.
- Bir yükleyici oluşturmak için iyi bir aday olup olmadığını görmek için bir uygulamaya uygulanabilecek bir "turnusol testi" var mı? *
- Yükleyiciler her uygulamanın sahip olması gereken kadar basit mi?
- Kurulumcular doğru araç mı?
- Geliştiricilerin yükleyicileri desteklemek için WiX gibi bir şey öğrenmelerini beklemek mantıklı mı?
- Sürdürülebilirlik genel olarak endişe vericidir, yani bir montajcı yaratmak niş bir beceri midir?
*
Örneğin, bir üretim sunucusunda paylaşılan bir dizinde olan winform uygulamaları kümesi var. Belirli gruplar uygulamaları bu dizinden çalıştırabilir, ancak yürütülebilir dosyaları yalnızca sistem yöneticileri değiştirebilir. Geçerli konuşlandırma işlemi, yürütülebilir dosyaları ve kitaplıkları paylaşılan dizine kopyalayıp yapıştırmayı içerir.
Uygulamalar tek tek kullanıcıların makinesine yüklenmediğinden, bu uygulamaların yeni sürümlerini paylaşılan dizine dağıtmak için bir yükleyici oluşturmak mantıklı mıdır?
Düzenle--
Buradaki yanıtların sağlam bir öneri verdiğini hissettim, bu yüzden çok sayıda uygulama oluşturmam ve bunları tek tek klasörlere dağıtmam gereken mevcut projem için bulduğum şeyi paylaşmak istedim.
Web projeleri için _PublishedWebsites davranışını taklit eden _PublishedApplications adlı bir NuGet paketi buldum . Fikir, projelerinize NuGet paketini yüklemenizdir ve yapı yapılarını çıktı yolundaki bir _PublishedApplications dizinine kopyalayacak bir hedef ekler. Bu davranış, komut satırından MSBuild çalıştırılarak ve bir outdir
özellik belirtilerek etkinleştirilir :
msbuild /p:Configuration=Release /p:outdir=C:\path\to\outdir MySolution.sln
Bu, aşağıdakine benzer bir dizin yapısı verecektir:
- C: \ yol \ etmek \ OutDir
- _PublishedApplications \
- 1. Proje\
dlls, exes, etc.
- Project2 \
...
- 1. Proje\
- _PublishedApplications \
Oradan, çeşitli ortamlarda çıkarılabilen bir fermuar oluşturmak oldukça ağrısızdır.
.msi
? En azından, minimum ağrı ile tamamen otomatik hale getirilebilirler. (kendi güncellemelerini yapması gereken ara sıra kullanıcı için hala anlaşılırken)