เรามี. Net 4.0 executable ( MyProg.exe ) และ dll ที่เกี่ยวข้องที่มีการใช้งานบนเครือข่ายร่วมกันโดยใช้ XCopy MyProg.exe และ DLLs นั้นไม่ได้ลงนามทั้งหมด
เรามีพวกเขาติดตั้งในเครือข่ายที่ใช้ร่วมกันเพื่อให้ผู้ใช้หลายคนสามารถใช้โปรแกรมรุ่นเดียวกันและเพื่อความสะดวกในการปรับปรุงโปรแกรม สิ่งนี้ใช้ได้ดีกับลูกค้าของเราเป็นเวลาหลายปีแล้ว
สำหรับลูกค้าล่าสุดโฟลเดอร์ใน Windows Server 2012 Virtual Machine จะถูกแชร์เป็นโฟลเดอร์เครือข่าย ผู้ใช้เรียกใช้โปรแกรมจากเซิร์ฟเวอร์เทอร์มินัลอื่น (Windows Server 2012)
เมื่อเราอัพเดตMyProg.exe (เป็นเวอร์ชั่น 2.0 จาก 1.0) เซิร์ฟเวอร์เทอร์มินัลจะไม่เรียกใช้ไฟล์ปฏิบัติการใหม่จนกว่าจะรีสตาร์ท มันยังคงโหลดเวอร์ชั่น 1.0 แม้ว่าจะไม่สามารถใช้งาน exe ได้อีกต่อไป แต่ดูเหมือนว่ามันจะทำงานแคชรุ่นMyProg.exe V1.0
- ขั้นตอนที่ฉันพยายาม:
- ปิดอินสแตนซ์ทั้งหมดของโปรแกรม
- คัดลอกMyProg.exeใหม่ไปยังโฟลเดอร์และเขียนทับไฟล์ (อัพเดตเวอร์ชัน exe จาก 1.0 เป็น 2.0)
- ตรวจสอบMyProg.exeเวอร์ชั่น 2.0 จากหน้าคุณสมบัติ >> รายละเอียดทั้งจากไฟล์เซิร์ฟเวอร์และเซิร์ฟเวอร์เทอร์มินัล
- ตรวจสอบว่าMyProg.exe V2.0ทำงานเมื่อดำเนินการจากไฟล์เซิร์ฟเวอร์โดยใช้ไฟล์ทางลัด (เป้าหมาย: \\ Server \ MyProg \ MyProg.exe )
- เรียกใช้ไฟล์ทางลัดเดียวกัน (เป้าหมาย: \\ Server \ MyProg \ MyProg.exe ) จากเซิร์ฟเวอร์เทอร์มินัลและMyProg.exe V1.0เริ่มทำงาน
- เปลี่ยนชื่อ\\ Server \ MyProgเป็น\\ Server \ MyProg1และยืนยันว่าเซิร์ฟเวอร์เทอร์มินัลไม่สามารถรันทางลัดได้เนื่องจากโฟลเดอร์นั้นไม่มีอยู่อีกต่อไป
- สร้างไฟล์ทางลัดใหม่ (Traget: \\ Server \ MyProg1 \ MyProg.exe ) และยืนยันว่าMyProg.exe V2.0ทำงานบนไคลเอนต์
- เปลี่ยนชื่อโฟลเดอร์\\ Server \ MyProg1กลับไปเป็น\\ Server \ MyProgและเรียกใช้ไฟล์ทางลัดเดิมยังคงโหลดMyProg.exe V1.0ต่อไปจนกว่าเซิร์ฟเวอร์เทอร์มินัลจะรีสตาร์ท
- ฉันตรวจสอบว่าไฟล์ออฟไลน์ถูกปิดใช้งานบนเซิร์ฟเวอร์เทอร์มินัล
- ฉันตรวจสอบว่าฉันไม่สามารถเขียนทับ MyProg.exe ได้เมื่อโปรแกรมทำงานบนเซิร์ฟเวอร์เทอร์มินัล
มีอะไรอีกบ้างที่ฉันสามารถตรวจสอบเพื่อแก้ไขปัญหาได้ว่าทำไมเวอร์ชันที่เก่ากว่าของไฟล์สั่งการจะถูกเรียกใช้งานแม้ว่าไฟล์นั้นจะไม่มีอยู่อีกต่อไปแล้ว