ฉันกำลังพยายามสร้างความเข้าใจโดยทั่วไปสำหรับสิ่งที่พบได้ทั่วไปในสถานการณ์นี้เพื่อให้ฉันสามารถตัดสินใจได้ว่ามันจะเหมาะสมหรือไม่ที่จะดำเนินการต่อไป
- โปรแกรมติดตั้งยินดีต้อนรับในสภาพแวดล้อมขององค์กรทั่วไปด้วยสิ่งต่อไปนี้หรือไม่?
- เปลี่ยนกระบวนการควบคุม
- สภาพแวดล้อม Dev / QA / การผลิต
- กำหนดทีมปรับใช้สำหรับพื้นที่ต่าง ๆ (ไฟร์วอลล์ฐานข้อมูล windows ฯลฯ )
- มี "การทดสอบสารสีน้ำเงิน" ที่สามารถนำไปใช้กับแอปพลิเคชันเพื่อดูว่ามันเป็นตัวเลือกที่ดีสำหรับการสร้างตัวติดตั้งหรือไม่? * * * *
- โปรแกรมติดตั้งนั้นง่ายพอที่ทุกแอปพลิเคชั่นควรมีหรือไม่
- ตัวติดตั้งเป็นเครื่องมือที่ใช่หรือไม่?
- มันสมเหตุสมผลหรือไม่ที่นักพัฒนาคาดว่าจะเรียนรู้บางอย่างเช่น WiX เพื่อสนับสนุนตัวติดตั้ง?
- การบำรุงรักษาโดยทั่วไปเป็นเรื่องที่ต้องคำนึงถึงนั่นคือการสร้างโปรแกรมติดตั้งให้เป็นทักษะเฉพาะหรือไม่?
* * * *
ตัวอย่างเช่นฉันมีชุดของแอปพลิเคชัน winform ที่อยู่ในไดเรกทอรีที่ใช้ร่วมกันบนเซิร์ฟเวอร์ที่ใช้งานจริง กลุ่มเฉพาะสามารถเรียกใช้แอปพลิเคชันจากไดเรกทอรีนี้ แต่ผู้ดูแลระบบเท่านั้นที่สามารถแก้ไขไฟล์ปฏิบัติการได้ กระบวนการปรับใช้ปัจจุบันเกี่ยวข้องกับการมีผู้ดูแลระบบคัดลอก / วางไฟล์ปฏิบัติการและไลบรารีไปยังไดเรกทอรีที่ใช้ร่วมกัน
เนื่องจากไม่ได้ติดตั้งแอปพลิเคชั่นในเครื่องของผู้ใช้แต่ละคนคุณควรสร้างตัวติดตั้งสำหรับการปรับใช้แอปพลิเคชันรุ่นใหม่เหล่านี้ไปยังไดเรกทอรีที่ใช้ร่วมกันหรือไม่
Edit--
ฉันรู้สึกว่าคำตอบที่นี่ให้คำแนะนำที่มั่นคงดังนั้นฉันต้องการแบ่งปันสิ่งที่ฉันเกิดขึ้นสำหรับโครงการปัจจุบันของฉันที่ฉันต้องการสร้างแอปพลิเคชั่นจำนวนมากและปรับใช้กับโฟลเดอร์แต่ละโฟลเดอร์
ฉันพบแพ็คเกจ NuGet ชื่อ_PublishedApplicationsซึ่งเลียนแบบพฤติกรรมของ _PublishedWebsites สำหรับโครงการเว็บ แนวคิดคือคุณติดตั้งแพ็กเกจ NuGet ลงในโครงการของคุณและเพิ่มเป้าหมายที่จะคัดลอกสิ่งประดิษฐ์บิลด์ไปยังไดเรกทอรี _PublishedApplications ในพา ธ เอาต์พุต พฤติกรรมนี้เปิดใช้งานโดยการเรียกใช้ MSBuild จากบรรทัดคำสั่งและระบุoutdir
คุณสมบัติ:
msbuild /p:Configuration=Release /p:outdir=C:\path\to\outdir MySolution.sln
สิ่งนี้จะทำให้โครงสร้างไดเรกทอรีคล้ายกับที่แสดงต่อไปนี้:
- C: \ เส้นทาง \ to \ outdir
- _PublishedApplications \
- Project1 \
dlls, exes, etc.
- Project2 \
...
- Project1 \
- _PublishedApplications \
จากตรงนั้นการสร้างซิปที่สามารถดึงออกมาในสภาพแวดล้อมที่หลากหลายนั้นค่อนข้างเจ็บปวด
.msi
ติดตั้งได้หรือไม่ อย่างน้อยที่สุดก็สามารถเป็นไปได้โดยอัตโนมัติด้วยความเจ็บปวดน้อยที่สุด (ในขณะที่ยังคงเข้าใจได้สำหรับผู้ใช้ในบางครั้งที่ต้องทำการอัปเดตของตัวเอง)