Một trong những giải pháp phổ biến cho việc này là chạy trình cập nhật của bạn chương trình riêng biệt. Bạn đã bao giờ nhận thấy rằng Firefox phải khởi động lại khi nó được cập nhật chưa? Vâng đó là bởi vì một quá trình riêng biệt (updater.exe) đang cập nhật các tập tin, sau đó khởi động lại Firefox.
Bạn có thể thử phương pháp này. Trở ngại duy nhất tôi thấy trong cách là cố gắng để tự động hóa chương trình MAIN để đóng chính nó. Cách di động duy nhất để thực hiện điều này (trong đầu của tôi) là cho ứng dụng chính chờ tín hiệu giết thông qua một ổ cắm cục bộ và trình cập nhật có thể gửi lệnh thông qua mạng cục bộ. Một điều nữa bạn phải xem xét là trình cập nhật phải chạy trong một tiến trình java riêng biệt. Nếu chương trình chính của bạn vừa tạo ra một đối tượng Updater mới, Updater sẽ cùng tồn tại với JVM của chương trình chính, nó sẽ đưa bạn trở lại hình vuông.