Tôi đang cố gắng khởi chạy một ứng dụng cập nhật bên ngoài cho một nền tảng mà tôi đã phát triển. Lý do tôi muốn khởi chạy trình cập nhật này là vì tiện ích cấu hình của tôi xử lý các bản cập nhật và cấu hình giấy phép cho nền tảng đã chia sẻ các phụ thuộc với các assembly khác trong thư mục mà bản cập nhật sẽ được triển khai. Vì vậy, trong khi tôi có thể đổi tên tiện ích cấu hình và ghi đè lên nó khi triển khai bản cập nhật, tôi không thể đổi tên hoặc ghi đè lên các DLL mà nó phụ thuộc vào. Do đó, ứng dụng cập nhật bên ngoài.Cách tạo một Quy trình phác thảo phụ huynh của mình
Tôi đang xử lý tất cả logic thu thập cập nhật trong tiện ích cấu hình, sau đó cố gắng khởi chạy trình cập nhật để xử lý các hoạt động sao chép/ghi đè tệp thực tế. Rõ ràng, vì các tập tin trong các vấn đề sử dụng, tôi cần tiện ích cấu hình để thoát ngay sau khi trình cập nhật bắt đầu.
Sự cố tôi gặp phải là tôi đang sử dụng phương thức Process.Start chuẩn để khởi chạy trình cập nhật và ngay sau khi tiện ích cấu hình thoát, quá trình cập nhật cũng bị tiêu diệt.
Có cách nào để tôi có thể tạo Quy trình phác thảo bố cục của cha mẹ hoặc khởi chạy một ứng dụng bên ngoài có thể chạy vượt quá chương trình khởi chạy không?
EDIT:
Rõ ràng, trong ứng dụng cập nhật của tôi, tôi tính nhầm số lượng đối số dòng lệnh được truyền cho nó. Bởi vì điều này, updater sẽ thoát ngay lập tức. Tôi đã hiểu sai điều này có nghĩa là ứng dụng trình khởi chạy đã giết quá trình "con", trong khi thực tế, nó không phải.
Câu trả lời bên dưới là chính xác.
Tôi biết đó là loại suy nghĩ ngược, nhưng bạn có thể có một quy trình mà toàn bộ công việc là quản lý bắt đầu cả tiện ích cấu hình và ứng dụng của bạn? Bằng cách đó bạn có thể cập nhật cả ứng dụng và tiện ích cấu hình (nếu cần) một cách riêng biệt và sẽ không phải lo lắng về các tiến trình con chết với cha mẹ của chúng (vì cha mẹ sẽ luôn chạy). –
Tôi đã có một lỗi trong mã cập nhật của tôi buộc nó phải thoát ngay lập tức. Tôi cho rằng đây là từ quá trình "khởi chạy". Tôi đã cập nhật tin nhắn của mình cho phù hợp. Có cách nào để cho bản thân mình tiêu cực như tự trừng phạt vì đã phạm một sai lầm vô lý như vậy? –
Chúng ta có thể giả định rằng bạn đang sử dụng C#/.net/Win32 chứ không phải C#/Mono/* nix? Tôi không biết liệu Quy trình có hoạt động giống nhau trong mọi môi trường hay không. – quillbreaker